version 1.4, 2015/08/17 06:14:37 |
version 1.5, 2015/08/17 07:19:16 |
|
|
/* $OpenXM: OpenXM/src/ox_pari/ox_pari.c,v 1.3 2015/08/17 05:18:35 noro Exp $ */ |
/* $OpenXM: OpenXM/src/ox_pari/ox_pari.c,v 1.4 2015/08/17 06:14:37 noro Exp $ */ |
|
|
#include <stdio.h> |
#include <stdio.h> |
#include <stdlib.h> |
#include <stdlib.h> |
Line 377 struct parif *search_parif(char *name) |
|
Line 377 struct parif *search_parif(char *name) |
|
|
|
int sm_executeFunction() |
int sm_executeFunction() |
{ |
{ |
long ltop,lbot; |
pari_sp av0; |
int ac,i; |
int ac,i; |
cmo_int32 *c; |
cmo_int32 *c; |
cmo *av[PARI_MAX_AC]; |
cmo *av[PARI_MAX_AC]; |
Line 427 int sm_executeFunction() |
|
Line 427 int sm_executeFunction() |
|
/* one variable possibly with prec */ |
/* one variable possibly with prec */ |
unsigned long prec; |
unsigned long prec; |
|
|
ltop = avma; |
av0 = avma; |
z = cmo_to_GEN(av[0]); |
z = cmo_to_GEN(av[0]); |
if ( ac == 2 ) { |
if ( ac == 2 ) { |
prec = cmo_to_int(av[1])*3.32193/32+3; |
prec = cmo_to_int(av[1])*3.32193/32+3; |
} else |
} else |
prec = precreal; |
prec = precreal; |
m = (*parif->f)(z,prec); |
m = (*parif->f)(z,prec); |
lbot = avma; |
|
ret = GEN_to_cmo(m); |
ret = GEN_to_cmo(m); |
// gerepile(ltop,lbot,0); |
avma = av0; |
push(ret); |
push(ret); |
return 0; |
return 0; |
} else { |
} else { |