=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2018/builtin/isolv.c,v retrieving revision 1.1 retrieving revision 1.3 diff -u -p -r1.1 -r1.3 --- OpenXM_contrib2/asir2018/builtin/isolv.c 2018/09/19 05:45:06 1.1 +++ OpenXM_contrib2/asir2018/builtin/isolv.c 2019/10/17 03:03:12 1.3 @@ -1,23 +1,32 @@ /* - * $OpenXM$ + * $OpenXM: OpenXM_contrib2/asir2018/builtin/isolv.c,v 1.2 2019/06/04 07:11:23 kondoh Exp $ */ #include "ca.h" #include "parse.h" #include "version.h" -#if defined(INTERVAL) +#if defined(INTERVAL) static void Solve(NODE, Obj *); static void NSolve(NODE, Obj *); +/* in builtin/vars.c */ +void Pvars(); + +/* */ void Solve1(P, Q, pointer *); void Sturm(P, VECT *); void boundbody(P, Q *); void binary(int , MAT); void separate(Q, Q, VECT, Q, Q, int, int, MAT, int *); void ueval(P, Q, Q *); +int stumq(VECT, Q); + +// in engine/bf.c +Num tobf(Num,int); + struct ftab isolv_tab[] = { {"solve", Solve, 2}, {"nsolve", NSolve, 2}, @@ -34,6 +43,9 @@ Obj *rp; V v; Q eps; + + *rp = 0; +#if 0 p = (pointer)ARG0(arg); if ( !p ) { *rp = 0; @@ -69,12 +81,11 @@ Obj *rp; default: *rp = 0; } +#endif } static void -NSolve(arg, rp) -NODE arg; -Obj *rp; +NSolve(NODE arg, Obj *rp) { pointer p, Eps; pointer root; @@ -86,6 +97,9 @@ Obj *rp; Itv iv; BF breal; + *rp = 0; +#if 0 + p = (pointer)ARG0(arg); if ( !p ) { *rp = 0; @@ -115,7 +129,8 @@ Obj *rp; for (m0 = BDY((LIST)root), n0 = 0; m0; m0 = NEXT(m0)) { m = BDY((LIST)BDY(m0)); miditvp(BDY(m), &r); - ToBf(r, &breal); + //ToBf(r, &breal); + breal = (BF)tobf(r, DEFAULTPREC); NEXTNODE( n0, n ); MKNODE(ln0, breal, NEXT(m)); MKLIST(listp, ln0); @@ -340,9 +355,7 @@ VECT *ret; } int -stumq(s, val) -VECT s; -Q val; +stumq(VECT s, Q val) { int len, i, j, c; P *ss; @@ -437,5 +450,6 @@ Q *rp; *rp = t; } } +#endif } #endif