=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/io/bsave.c,v retrieving revision 1.10 retrieving revision 1.14 diff -u -p -r1.10 -r1.14 --- OpenXM_contrib2/asir2000/io/bsave.c 2001/10/09 01:36:20 1.10 +++ OpenXM_contrib2/asir2000/io/bsave.c 2004/12/10 07:36:35 1.14 @@ -44,7 +44,7 @@ * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. - * $OpenXM: OpenXM_contrib2/asir2000/io/bsave.c,v 1.9 2001/09/03 07:01:08 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/io/bsave.c,v 1.13 2003/12/22 09:33:47 noro Exp $ */ /* saveXXX must not use GC_malloc(), GC_malloc_atomic(). */ @@ -52,7 +52,7 @@ #include "parse.h" #include "com.h" -#if PARI +#if defined(PARI) #include "genpari.h" int get_lg(GEN); #endif @@ -62,9 +62,9 @@ void (*savef[])() = { 0, savenum, savep, saver, saveli #if defined(INTERVAL) void saveitv(); void saveitvd(); -void (*nsavef[])() = { saveq, savereal, 0, savebf, saveitv, saveitvd, 0, saveitv, savecplx ,savemi, savelm, savegf2n, savegfpn, savegfs, savegfsn}; +void (*nsavef[])() = { saveq, savereal, 0, savebf, saveitv, saveitvd, 0, saveitv, savecplx ,savemi, savelm, savegf2n, savegfpn, savegfs, savegfsn,savedalg}; #else -void (*nsavef[])() = { saveq, savereal, 0, savebf, savecplx ,savemi, savelm, savegf2n, savegfpn, savegfs, savegfsn}; +void (*nsavef[])() = { saveq, savereal, 0, savebf, savecplx ,savemi, savelm, savegf2n, savegfpn, savegfs, savegfsn,savedalg}; #endif static short zeroval = 0; @@ -112,11 +112,11 @@ void savereal(FILE *s,Real p) void savebf(FILE *s,BF p) { -#if PARI +#if defined(PARI) GEN z; int sign; unsigned long expo; - unsigned int len; + unsigned int len,t; z = (GEN)BDY(p); sign = signe(z); @@ -148,7 +148,7 @@ void saveitv(FILE *s,Itv p) saveobj(s,(Obj)SUP(p)); } -void saveitvd(FILE *s,ItvD p) +void saveitvd(FILE *s,IntervalDouble p) { write_double(s,&INF(p)); write_double(s,&SUP(p)); @@ -199,6 +199,12 @@ void savegfsn(FILE *s,GFSN p) d = DEG(BDY(p)); write_int(s,&d); write_intarray(s,COEF(BDY(p)),d+1); +} + +void savedalg(FILE *s,DAlg p) +{ + saveobj(s,p->nm); + saveobj(s,p->dn); } void savep(FILE *s,P p)