=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/io/bload.c,v retrieving revision 1.11 retrieving revision 1.14 diff -u -p -r1.11 -r1.14 --- OpenXM_contrib2/asir2000/io/bload.c 2002/01/08 04:14:38 1.11 +++ OpenXM_contrib2/asir2000/io/bload.c 2004/12/10 07:36:35 1.14 @@ -44,12 +44,12 @@ * 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/bload.c,v 1.10 2001/10/09 01:36:20 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/io/bload.c,v 1.13 2003/12/22 09:33:47 noro Exp $ */ #include "ca.h" #include "parse.h" #include "com.h" -#if PARI +#if defined(PARI) #include "genpari.h" int get_lg(GEN); #endif @@ -61,9 +61,9 @@ void (*loadf[])() = { 0, loadnum, loadp, loadr, loadli #if defined(INTERVAL) void loaditv(); void loaditvd(); -void (*nloadf[])() = { loadq, loadreal, 0, loadbf, loaditv, loaditvd, 0, loaditv, loadcplx, loadmi, loadlm, loadgf2n, loadgfpn, loadgfs, loadgfsn }; +void (*nloadf[])() = { loadq, loadreal, 0, loadbf, loaditv, loaditvd, 0, loaditv, loadcplx, loadmi, loadlm, loadgf2n, loadgfpn, loadgfs, loadgfsn, loaddalg }; #else -void (*nloadf[])() = { loadq, loadreal, 0, loadbf, loadcplx, loadmi, loadlm, loadgf2n, loadgfpn, loadgfs, loadgfsn }; +void (*nloadf[])() = { loadq, loadreal, 0, loadbf, loadcplx, loadmi, loadlm, loadgf2n, loadgfpn, loadgfs, loadgfsn, loaddalg }; #endif void loadobj(FILE *s,Obj *p) @@ -120,12 +120,13 @@ void loadreal(FILE *s,Real *p) void loadbf(FILE *s,BF *p) { -#if PARI +#if defined(PARI) GEN z; unsigned int uexpo,lexpo; char dmy; int sign; unsigned int len; + unsigned long expo; BF q; read_char(s,&dmy); @@ -263,6 +264,17 @@ void loadgfsn(FILE *s,GFSN *p) body = UMALLOC(d); DEG(body) = d; read_intarray(s,COEF(body),d+1); MKGFSN(body,*p); +} + +void loaddalg(FILE *s,DAlg *p) +{ + char dmy; + Obj nm,dn; + + read_char(s,&dmy); + loadobj(s,&nm); + loadobj(s,&dn); + MKDAlg((DP)nm,(Q)dn,*p); } void loadp(FILE *s,P *p)