| version 1.7, 2000/12/24 06:32:31 | version 1.9, 2001/09/03 07:01:08 | 
|  |  | 
| * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY | * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY | 
| * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, | * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, | 
| * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. | * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. | 
| * $OpenXM: OpenXM_contrib2/asir2000/io/bsave.c,v 1.6 2000/12/22 10:03:30 saito Exp $ | * $OpenXM: OpenXM_contrib2/asir2000/io/bsave.c,v 1.8 2001/03/16 01:56:18 noro Exp $ | 
| */ | */ | 
| /* saveXXX must not use GC_malloc(), GC_malloc_atomic(). */ | /* saveXXX must not use GC_malloc(), GC_malloc_atomic(). */ | 
|  |  | 
| 
| Line 69  void saver(FILE *,R); |  | 
| Line 69  void saver(FILE *,R); |  | 
| void savep(FILE *,P); | void savep(FILE *,P); | 
| void savegf2n(FILE *,GF2N); | void savegf2n(FILE *,GF2N); | 
| void savegfpn(FILE *,GFPN); | void savegfpn(FILE *,GFPN); | 
|  | void savegfs(FILE *,GFS); | 
| void savelm(FILE *,LM); | void savelm(FILE *,LM); | 
| void savemi(FILE *,MQ); | void savemi(FILE *,MQ); | 
| void savecplx(FILE *,C); | void savecplx(FILE *,C); | 
| 
| Line 79  void savenum(FILE *,Num); |  | 
| Line 80  void savenum(FILE *,Num); |  | 
| void savepfins(FILE *,V); | void savepfins(FILE *,V); | 
| void savegfmmat(FILE *,GFMMAT); | void savegfmmat(FILE *,GFMMAT); | 
| void savebytearray(FILE *,BYTEARRAY); | void savebytearray(FILE *,BYTEARRAY); | 
|  | void savegfsn(FILE *,GFSN); | 
|  |  | 
| void (*savef[])() = { 0, savenum, savep, saver, savelist, savevect, | void (*savef[])() = { 0, savenum, savep, saver, savelist, savevect, | 
| savemat, savestring, 0, savedp, saveui, saveerror,0,0,0,savegfmmat, savebytearray }; | savemat, savestring, 0, savedp, saveui, saveerror,0,0,0,savegfmmat, savebytearray }; | 
| #if defined(INTERVAL) | #if defined(INTERVAL) | 
| void saveitv(); | void saveitv(); | 
| void saveitvd(); | void saveitvd(); | 
| void (*nsavef[])() = { saveq, savereal, 0, savebf, saveitv, saveitvd, 0, saveitv, savecplx ,savemi, savelm, savegf2n, savegfpn}; | void (*nsavef[])() = { saveq, savereal, 0, savebf, saveitv, saveitvd, 0, saveitv, savecplx ,savemi, savelm, savegf2n, savegfpn, savegfs, savegfsn}; | 
| #else | #else | 
| void (*nsavef[])() = { saveq, savereal, 0, savebf, savecplx ,savemi, savelm, savegf2n, savegfpn}; | void (*nsavef[])() = { saveq, savereal, 0, savebf, savecplx ,savemi, savelm, savegf2n, savegfpn, savegfs, savegfsn}; | 
| #endif | #endif | 
|  |  | 
| static short zeroval = 0; | static short zeroval = 0; | 
|  |  | 
| write_int(s,&d); | write_int(s,&d); | 
| for ( i = 0; i <= d; i++ ) | for ( i = 0; i <= d; i++ ) | 
| saveobj(s,(Obj)p->body->c[i]); | saveobj(s,(Obj)p->body->c[i]); | 
|  | } | 
|  |  | 
|  | void savegfs(s,p) | 
|  | FILE *s; | 
|  | GFS p; | 
|  | { write_int(s,&CONT(p)); } | 
|  |  | 
|  | void savegfsn(s,p) | 
|  | FILE *s; | 
|  | GFSN p; | 
|  | { | 
|  | int d; | 
|  |  | 
|  | d = DEG(BDY(p)); | 
|  | write_int(s,&d); | 
|  | write_intarray(s,COEF(BDY(p)),d+1); | 
| } | } | 
|  |  | 
| void savep(s,p) | void savep(s,p) |