=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/io/bload.c,v retrieving revision 1.3 retrieving revision 1.7 diff -u -p -r1.3 -r1.7 --- OpenXM_contrib2/asir2000/io/bload.c 2000/08/22 05:04:17 1.3 +++ OpenXM_contrib2/asir2000/io/bload.c 2000/12/24 06:32:31 1.7 @@ -44,13 +44,11 @@ * 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.2 2000/08/21 08:31:38 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/io/bload.c,v 1.6 2000/12/22 10:03:30 saito Exp $ */ #include "ca.h" #include "parse.h" -#if INET #include "com.h" -#endif #if PARI #include "genpari.h" int get_lg(GEN); @@ -76,14 +74,21 @@ void loadreal(FILE *,Real *); void loadq(FILE *,Q *); void loadnum(FILE *,Num *); void loadgfmmat(FILE *,GFMMAT *); +void loadbytearray(FILE *,BYTEARRAY *); V loadpfins(FILE *); extern VL file_vl; void (*loadf[])() = { 0, loadnum, loadp, loadr, loadlist, loadvect, loadmat, - loadstring, 0, loaddp, loadui, loaderror,0,0,0,loadgfmmat }; + loadstring, 0, loaddp, loadui, loaderror,0,0,0,loadgfmmat, loadbytearray }; +#if defined(INTERVAL) +void loaditv(); +void loaditvd(); +void (*nloadf[])() = { loadq, loadreal, 0, loadbf, loaditv, loaditvd, 0, loaditv, loadcplx, loadmi, loadlm, loadgf2n, loadgfpn }; +#else void (*nloadf[])() = { loadq, loadreal, 0, loadbf, loadcplx, loadmi, loadlm, loadgf2n, loadgfpn }; +#endif void loadobj(s,p) FILE *s; @@ -191,6 +196,34 @@ BF *p; #endif } +#if defined(INTERVAL) +void loaditv(s,p) +FILE *s; +Itv *p; +{ + Itv q; + char dmy; + + read_char(s,&dmy); + NEWItvP(q); loadobj(s,(Obj *)&INF(q)); loadobj(s,(Obj *)&SUP(q)); + *p = q; +} + +void loaditvd(s,p) +FILE *s; +ItvD *p; +{ + ItvD q; + char dmy; + + read_char(s,&dmy); + NEWItvD(q); + read_double(s,&INF(q)); + read_double(s,&SUP(q)); + *p = q; +} +#endif + void loadcplx(s,p) FILE *s; C *p; @@ -402,6 +435,21 @@ char **p; } else t = ""; *p = t; +} + +void loadbytearray(s,p) +FILE *s; +BYTEARRAY *p; +{ + int len; + BYTEARRAY array; + + read_int(s,&len); + MKBYTEARRAY(array,len); + if ( len ) { + read_string(s,array->body,len); + } + *p = array; } void loaddp(s,p)