[BACK]Return to bsave.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / io

Diff for /OpenXM_contrib2/asir2000/io/bsave.c between version 1.9 and 1.10

version 1.9, 2001/09/03 07:01:08 version 1.10, 2001/10/09 01:36:20
Line 44 
Line 44 
  * 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.8 2001/03/16 01:56:18 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/io/bsave.c,v 1.9 2001/09/03 07:01:08 noro Exp $
 */  */
 /* saveXXX must not use GC_malloc(), GC_malloc_atomic(). */  /* saveXXX must not use GC_malloc(), GC_malloc_atomic(). */
   
Line 57 
Line 57 
 int get_lg(GEN);  int get_lg(GEN);
 #endif  #endif
   
 void saveerror(FILE *,ERR);  
 void saveui(FILE *,USINT);  
 void savedp(FILE *,DP);  
 void savestr(FILE *,char *);  
 void savestring(FILE *,STRING);  
 void savemat(FILE *,MAT);  
 void savevect(FILE *,VECT);  
 void savelist(FILE *,LIST);  
 void saver(FILE *,R);  
 void savep(FILE *,P);  
 void savegf2n(FILE *,GF2N);  
 void savegfpn(FILE *,GFPN);  
 void savegfs(FILE *,GFS);  
 void savelm(FILE *,LM);  
 void savemi(FILE *,MQ);  
 void savecplx(FILE *,C);  
 void savebf(FILE *,BF);  
 void savereal(FILE *,Real);  
 void saveq(FILE *,Q);  
 void savenum(FILE *,Num);  
 void savepfins(FILE *,V);  
 void savegfmmat(FILE *,GFMMAT);  
 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)
Line 94  void (*nsavef[])() = { saveq, savereal, 0, savebf, sav
Line 69  void (*nsavef[])() = { saveq, savereal, 0, savebf, sav
   
 static short zeroval = 0;  static short zeroval = 0;
   
 void saveobj(s,p)  void saveobj(FILE *s,Obj p)
 FILE *s;  
 Obj p;  
 {  {
         if ( !p )          if ( !p )
                 write_short(s,&zeroval);                  write_short(s,&zeroval);
Line 106  Obj p;
Line 79  Obj p;
                 (*savef[OID(p)])(s,p);                  (*savef[OID(p)])(s,p);
 }  }
   
 void savenum(s,p)  void savenum(FILE *s,Num p)
 FILE *s;  
 Num p;  
 {  {
         if ( !nsavef[NID(p)] )          if ( !nsavef[NID(p)] )
                 error("savenum : not implemented");                  error("savenum : not implemented");
Line 119  Num p;
Line 90  Num p;
         }          }
 }  }
   
 void saveq(s,p)  void saveq(FILE *s,Q p)
 FILE *s;  
 Q p;  
 {  {
         int size[2];          int size[2];
         int len = 2;          int len = 2;
Line 133  Q p;
Line 102  Q p;
                 write_intarray(s,BD(DN(p)),size[1]);                  write_intarray(s,BD(DN(p)),size[1]);
 }  }
   
 void savereal(s,p)  void savereal(FILE *s,Real p)
 FILE *s;  
 Real p;  
 { write_double(s,&BDY(p)); }  { write_double(s,&BDY(p)); }
   
 /*  /*
Line 143  Real p;
Line 110  Real p;
  * -> | id(2) | nid(1) | sgn(1) | expo>>32 | expo&0xffffffff | len | ... |   * -> | id(2) | nid(1) | sgn(1) | expo>>32 | expo&0xffffffff | len | ... |
  */   */
   
 void savebf(s,p)  void savebf(FILE *s,BF p)
 FILE *s;  
 BF p;  
 {  {
 #if PARI  #if PARI
         GEN z;          GEN z;
         int sign;          int sign;
         unsigned long expo;          unsigned long expo;
         unsigned int len,t;          unsigned int len;
   
         z = (GEN)BDY(p);          z = (GEN)BDY(p);
         sign = signe(z);          sign = signe(z);
Line 177  BF p;
Line 142  BF p;
 }  }
   
 #if defined(INTERVAL)  #if defined(INTERVAL)
 void saveitv(s,p)  void saveitv(FILE *s,Itv p)
 FILE *s;  
 Itv p;  
 {  {
         saveobj(s,(Obj)INF(p));          saveobj(s,(Obj)INF(p));
         saveobj(s,(Obj)SUP(p));          saveobj(s,(Obj)SUP(p));
 }  }
   
 void saveitvd(s,p)  void saveitvd(FILE *s,ItvD p)
 FILE *s;  
 ItvD p;  
 {  {
         write_double(s,&INF(p));          write_double(s,&INF(p));
         write_double(s,&SUP(p));          write_double(s,&SUP(p));
 }  }
 #endif  #endif
   
 void savecplx(s,p)  void savecplx(FILE *s,C p)
 FILE *s;  
 C p;  
 { saveobj(s,(Obj)p->r); saveobj(s,(Obj)p->i); }  { saveobj(s,(Obj)p->r); saveobj(s,(Obj)p->i); }
   
 void savemi(s,p)  void savemi(FILE *s,MQ p)
 FILE *s;  
 MQ p;  
 { write_int(s,&CONT(p)); }  { write_int(s,&CONT(p)); }
   
 void savelm(s,p)  void savelm(FILE *s,LM p)
 FILE *s;  
 LM p;  
 {  {
         int size;          int size;
   
Line 215  LM p;
Line 170  LM p;
         write_intarray(s,BD(BDY(p)),size);          write_intarray(s,BD(BDY(p)),size);
 }  }
   
 void savegf2n(s,p)  void savegf2n(FILE *s,GF2N p)
 FILE *s;  
 GF2N p;  
 {  {
         int len;          int len;
   
Line 226  GF2N p;
Line 179  GF2N p;
         write_intarray(s,p->body->b,len);          write_intarray(s,p->body->b,len);
 }  }
   
 void savegfpn(s,p)  void savegfpn(FILE *s,GFPN p)
 FILE *s;  
 GFPN p;  
 {  {
         int d,i;          int d,i;
   
Line 238  GFPN p;
Line 189  GFPN p;
                 saveobj(s,(Obj)p->body->c[i]);                  saveobj(s,(Obj)p->body->c[i]);
 }  }
   
 void savegfs(s,p)  void savegfs(FILE *s,GFS p)
 FILE *s;  
 GFS p;  
 { write_int(s,&CONT(p)); }  { write_int(s,&CONT(p)); }
   
 void savegfsn(s,p)  void savegfsn(FILE *s,GFSN p)
 FILE *s;  
 GFSN p;  
 {  {
         int d;          int d;
   
Line 254  GFSN p;
Line 201  GFSN p;
         write_intarray(s,COEF(BDY(p)),d+1);          write_intarray(s,COEF(BDY(p)),d+1);
 }  }
   
 void savep(s,p)  void savep(FILE *s,P p)
 FILE *s;  
 P p;  
 {  {
         DCP dc;          DCP dc;
         int n;          int n;
Line 281  P p;
Line 226  P p;
 /* save a pure function (v->attr = V_PF) */  /* save a pure function (v->attr = V_PF) */
 /* |name(str)|argc(int)|darray(intarray)|args| */  /* |name(str)|argc(int)|darray(intarray)|args| */
   
 void savepfins(s,v)  void savepfins(FILE *s,V v)
 FILE *s;  
 V v;  
 {  {
         PFINS ins;          PFINS ins;
         PF pf;          PF pf;
Line 303  V v;
Line 246  V v;
                 saveobj(s,ins->ad[i].arg);                  saveobj(s,ins->ad[i].arg);
 }  }
   
 void saver(s,p)  void saver(FILE *s,R p)
 FILE *s;  
 R p;  
 {  {
         if ( !RAT(p) )          if ( !RAT(p) )
                 savep(s,(P)p);                  savep(s,(P)p);
Line 315  R p;
Line 256  R p;
         }          }
 }  }
   
 void savelist(s,p)  void savelist(FILE *s,LIST p)
 FILE *s;  
 LIST p;  
 {  {
         int n;          int n;
         NODE tn;          NODE tn;
Line 328  LIST p;
Line 267  LIST p;
                 saveobj(s,(Obj)BDY(tn));                  saveobj(s,(Obj)BDY(tn));
 }  }
   
 void savevect(s,p)  void savevect(FILE *s,VECT p)
 FILE *s;  
 VECT p;  
 {  {
         int i,len = 2;          int i,len = 2;
   
Line 339  VECT p;
Line 276  VECT p;
                 saveobj(s,(Obj)BDY(p)[i]);                  saveobj(s,(Obj)BDY(p)[i]);
 }  }
   
 void savemat(s,p)  void savemat(FILE *s,MAT p)
 FILE *s;  
 MAT p;  
 {  {
         int i,j,row,col;          int i,j,row,col;
         int len = 3;          int len = 3;
Line 352  MAT p;
Line 287  MAT p;
                         saveobj(s,(Obj)BDY(p)[i][j]);                          saveobj(s,(Obj)BDY(p)[i][j]);
 }  }
   
 void savestring(s,p)  void savestring(FILE *s,STRING p)
 FILE *s;  
 STRING p;  
 {  {
         write_short(s,&OID(p)); savestr(s,BDY(p));          write_short(s,&OID(p)); savestr(s,BDY(p));
 }  }
   
 void savestr(s,p)  void savestr(FILE *s,char *p)
 FILE *s;  
 char *p;  
 {  {
         int size;          int size;
   
Line 370  char *p;
Line 301  char *p;
                 write_string(s,p,size);                  write_string(s,p,size);
 }  }
   
 void savedp(s,p)  void savedp(FILE *s,DP p)
 FILE *s;  
 DP p;  
 {  {
         int nv,n,i,sugar;          int nv,n,i,sugar;
         MP m,t;          MP m,t;
Line 386  DP p;
Line 315  DP p;
         }          }
 }  }
   
 void saveui(s,u)  void saveui(FILE *s,USINT u)
 FILE *s;  
 USINT u;  
 {  {
         write_short(s,&OID(u)); write_int(s,&BDY(u));          write_short(s,&OID(u)); write_int(s,&BDY(u));
 }  }
   
 void saveerror(s,e)  void saveerror(FILE *s,ERR e)
 FILE *s;  
 ERR e;  
 {  {
         write_short(s,&OID(e)); saveobj(s,(Obj)BDY(e));          write_short(s,&OID(e)); saveobj(s,(Obj)BDY(e));
 }  }
   
 void savegfmmat(s,p)  void savegfmmat(FILE *s,GFMMAT p)
 FILE *s;  
 GFMMAT p;  
 {  {
         int i,j,row,col;          int i,row,col;
   
         write_short(s,&OID(p)); write_int(s,&p->row); write_int(s,&p->col);          write_short(s,&OID(p)); write_int(s,&p->row); write_int(s,&p->col);
         for ( i = 0, row = p->row, col = p->col; i < row; i++ )          for ( i = 0, row = p->row, col = p->col; i < row; i++ )
                 write_intarray(s,p->body[i],col);                  write_intarray(s,p->body[i],col);
 }  }
   
 void savebytearray(s,p)  void savebytearray(FILE *s,BYTEARRAY p)
 FILE *s;  
 BYTEARRAY p;  
 {  {
         write_short(s,&OID(p)); write_int(s,&p->len);          write_short(s,&OID(p)); write_int(s,&p->len);
         write_string(s,p->body,p->len);          write_string(s,p->body,p->len);

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>