version 1.1, 2018/09/19 05:45:08 |
version 1.2, 2019/08/28 23:27:34 |
|
|
* 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: OpenXM_contrib2/asir2018/io/bsave.c,v 1.1 2018/09/19 05:45:08 noro Exp $ |
*/ |
*/ |
/* saveXXX must not use GC_malloc(), GC_malloc_atomic(). */ |
/* saveXXX must not use GC_malloc(), GC_malloc_atomic(). */ |
|
|
Line 57 void savenbp(FILE *s,NBP p); |
|
Line 57 void savenbp(FILE *s,NBP p); |
|
|
|
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, |
savemat, savestring, 0, savedp, saveui, saveerror,0,0,0,savegfmmat, |
savebytearray, 0, 0, 0, 0, 0, 0, 0, 0, savenbp }; |
savebytearray, 0, 0, 0, 0, 0, 0, 0, 0, savenbp, savedpm }; |
#if defined(INTERVAL) |
#if defined(INTERVAL) |
void saveitv(); |
void saveitv(); |
void saveitvd(); |
void saveitvd(); |
Line 345 void savedp(FILE *s,DP p) |
|
Line 345 void savedp(FILE *s,DP p) |
|
write_short(s,&OID(p)); write_int(s,&nv); write_int(s,&sugar); write_int(s,&n); |
write_short(s,&OID(p)); write_int(s,&nv); write_int(s,&sugar); write_int(s,&n); |
for ( i = 0, t = m; i < n; i++, t = NEXT(t) ) { |
for ( i = 0, t = m; i < n; i++, t = NEXT(t) ) { |
saveobj(s,(Obj)t->c); |
saveobj(s,(Obj)t->c); |
|
write_int(s,&t->dl->td); write_intarray(s,&(t->dl->d[0]),nv); |
|
} |
|
} |
|
|
|
void savedpm(FILE *s,DPM p) |
|
{ |
|
int nv,n,i,sugar; |
|
DMM m,t; |
|
|
|
nv = p->nv; m = p->body; sugar = p->sugar; |
|
for ( n = 0, t = m; t; t = NEXT(t), n++ ); |
|
write_short(s,&OID(p)); write_int(s,&nv); write_int(s,&sugar); write_int(s,&n); |
|
for ( i = 0, t = m; i < n; i++, t = NEXT(t) ) { |
|
saveobj(s,(Obj)t->c); |
|
write_int(s,&t->pos); |
write_int(s,&t->dl->td); write_intarray(s,&(t->dl->d[0]),nv); |
write_int(s,&t->dl->td); write_intarray(s,&(t->dl->d[0]),nv); |
} |
} |
} |
} |