version 1.30, 2015/08/19 05:53:13 |
version 1.32, 2015/08/21 06:00:29 |
|
|
/* $OpenXM: OpenXM_contrib2/asir2000/builtin/parif.c,v 1.29 2015/08/19 05:29:23 noro Exp $ */ |
/* $OpenXM: OpenXM_contrib2/asir2000/builtin/parif.c,v 1.31 2015/08/20 08:42:07 noro Exp $ */ |
#include "ca.h" |
#include "ca.h" |
#include "parse.h" |
#include "parse.h" |
#include "ox.h" |
#include "ox.h" |
Line 110 pointer evalparif(FUNC f,NODE arg) |
|
Line 110 pointer evalparif(FUNC f,NODE arg) |
|
Obj ret,dmy; |
Obj ret,dmy; |
mpfr_func mpfr_function; |
mpfr_func mpfr_function; |
|
|
if ( mpfr_function = mpfr_search(f->name) ) { |
if ( arg && ARG0(arg) && NID((Num)ARG0(arg)) != N_C |
(*mpfr_function)(arg,&ret); |
&& (mpfr_function = mpfr_search(f->name)) ) { |
return (pointer) ret; |
(*mpfr_function)(arg,&ret); |
|
return (pointer) ret; |
} |
} |
|
|
if ( !ox_pari_stream_initialized ) { |
if ( !ox_pari_stream_initialized ) { |
Line 141 pointer evalparif(FUNC f,NODE arg) |
|
Line 142 pointer evalparif(FUNC f,NODE arg) |
|
ox_get_pari_result = 1; |
ox_get_pari_result = 1; |
Pox_pop_cmo(oxarg,&ret); |
Pox_pop_cmo(oxarg,&ret); |
ox_get_pari_result = 0; |
ox_get_pari_result = 0; |
|
if ( ret && OID(ret) == O_ERR ) { |
|
char buf[BUFSIZ]; |
|
soutput_init(buf); |
|
sprintexpr(CO,((ERR)ret)->body); |
|
error(buf); |
|
} |
if ( ret && OID(ret) == O_LIST ) { |
if ( ret && OID(ret) == O_LIST ) { |
ret = list_to_vect(ret); |
ret = list_to_vect(ret); |
ret = vect_to_mat((VECT)ret); |
ret = vect_to_mat((VECT)ret); |