version 1.1, 2018/09/19 05:45:08 |
version 1.4, 2020/02/22 06:23:36 |
|
|
* 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/cio.c,v 1.3 2019/03/06 07:35:40 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "parse.h" |
#include "parse.h" |
Line 89 void write_cmo(FILE *s,Obj obj) |
|
Line 89 void write_cmo(FILE *s,Obj obj) |
|
int r; |
int r; |
char errmsg[BUFSIZ]; |
char errmsg[BUFSIZ]; |
LIST l; |
LIST l; |
|
QUOTE quote; |
|
|
if ( !obj ) { |
if ( !obj ) { |
r = CMO_NULL; write_int(s,&r); |
r = CMO_NULL; write_int(s,&r); |
Line 147 void write_cmo(FILE *s,Obj obj) |
|
Line 148 void write_cmo(FILE *s,Obj obj) |
|
r = ((USINT)obj)->body; write_int(s,&r); |
r = ((USINT)obj)->body; write_int(s,&r); |
break; |
break; |
case O_QUOTE: |
case O_QUOTE: |
fnodetotree(BDY((QUOTE)obj),&l); |
quote = (QUOTE)obj; |
|
fnodetotree(BDY(quote),quote->pvs,&l); |
write_cmo_tree(s,l); |
write_cmo_tree(s,l); |
break; |
break; |
case O_MAT: |
case O_MAT: |
Line 232 void write_cmo_q(FILE *s,Q q) |
|
Line 234 void write_cmo_q(FILE *s,Q q) |
|
r = CMO_QQ; write_int(s,&r); |
r = CMO_QQ; write_int(s,&r); |
nmq(q,&nm); |
nmq(q,&nm); |
write_cmo_zz(s,nm); |
write_cmo_zz(s,nm); |
nmq(q,&dn); |
dnq(q,&dn); |
write_cmo_zz(s,dn); |
write_cmo_zz(s,dn); |
} else { |
} else { |
r = CMO_ZZ; write_int(s,&r); |
r = CMO_ZZ; write_int(s,&r); |
Line 323 void write_cmo_upoly(FILE *s,VL vl,P p) |
|
Line 325 void write_cmo_upoly(FILE *s,VL vl,P p) |
|
for ( i = 0, vlt = vl; vlt->v != v; vlt = NEXT(vlt), i++ ); |
for ( i = 0, vlt = vl; vlt->v != v; vlt = NEXT(vlt), i++ ); |
write_int(s,&i); |
write_int(s,&i); |
for ( dct = dc; dct; dct = NEXT(dct) ) { |
for ( dct = dc; dct; dct = NEXT(dct) ) { |
i = QTOS(DEG(dct)); write_int(s,&i); |
i = ZTOS(DEG(dct)); write_int(s,&i); |
write_cmo_upoly(s,vl,COEF(dct)); |
write_cmo_upoly(s,vl,COEF(dct)); |
} |
} |
} |
} |
Line 767 void read_cmo_upoly(FILE *s,P *rp) |
|
Line 769 void read_cmo_upoly(FILE *s,P *rp) |
|
read_cmo(s,&obj); c = (P)obj; |
read_cmo(s,&obj); c = (P)obj; |
if ( c ) { |
if ( c ) { |
if ( OID(c) == O_USINT ) { |
if ( OID(c) == O_USINT ) { |
UTOQ(((USINT)c)->body,q); c = (P)q; |
UTOZ(((USINT)c)->body,q); c = (P)q; |
} |
} |
NEXTDC(dc0,dc); |
NEXTDC(dc0,dc); |
STOQ(d,q); |
STOZ(d,q); |
dc->c = c; dc->d = q; |
dc->c = c; dc->d = q; |
} |
} |
} |
} |