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

Diff for /OpenXM_contrib2/asir2000/parse/quote.c between version 1.5 and 1.6

version 1.5, 2001/09/05 09:01:28 version 1.6, 2001/10/09 01:36:25
Line 1 
Line 1 
 /* $OpenXM: OpenXM_contrib2/asir2000/parse/quote.c,v 1.4 2001/09/04 05:14:04 noro Exp $ */  /* $OpenXM: OpenXM_contrib2/asir2000/parse/quote.c,v 1.5 2001/09/05 09:01:28 noro Exp $ */
   
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
   
 void addquote(vl,a,b,c)  void addquote(VL vl,QUOTE a,QUOTE b,QUOTE *c)
 VL vl;  
 QUOTE a,b;  
 QUOTE *c;  
 {  {
         FNODE fn;          FNODE fn;
   
Line 14  QUOTE *c;
Line 11  QUOTE *c;
         MKQUOTE(*c,fn);          MKQUOTE(*c,fn);
 }  }
   
 void subquote(vl,a,b,c)  void subquote(VL vl,QUOTE a,QUOTE b,QUOTE *c)
 VL vl;  
 QUOTE a,b;  
 QUOTE *c;  
 {  {
         FNODE fn;          FNODE fn;
   
Line 25  QUOTE *c;
Line 19  QUOTE *c;
         MKQUOTE(*c,fn);          MKQUOTE(*c,fn);
 }  }
   
 void mulquote(vl,a,b,c)  void mulquote(VL vl,QUOTE a,QUOTE b,QUOTE *c)
 VL vl;  
 QUOTE a,b;  
 QUOTE *c;  
 {  {
         FNODE fn;          FNODE fn;
   
Line 36  QUOTE *c;
Line 27  QUOTE *c;
         MKQUOTE(*c,fn);          MKQUOTE(*c,fn);
 }  }
   
 void divquote(vl,a,b,c)  void divquote(VL vl,QUOTE a,QUOTE b,QUOTE *c)
 VL vl;  
 QUOTE a,b;  
 QUOTE *c;  
 {  {
         FNODE fn;          FNODE fn;
   
Line 47  QUOTE *c;
Line 35  QUOTE *c;
         MKQUOTE(*c,fn);          MKQUOTE(*c,fn);
 }  }
   
 void pwrquote(vl,a,b,c)  void pwrquote(VL vl,QUOTE a,QUOTE b,QUOTE *c)
 VL vl;  
 QUOTE a,b;  
 QUOTE *c;  
 {  {
         FNODE fn;          FNODE fn;
   
Line 60  QUOTE *c;
Line 45  QUOTE *c;
         MKQUOTE(*c,fn);          MKQUOTE(*c,fn);
 }  }
   
 void chsgnquote(a,c)  void chsgnquote(QUOTE a,QUOTE *c)
 QUOTE a;  
 QUOTE *c;  
 {  {
         FNODE fn;          FNODE fn;
   
Line 70  QUOTE *c;
Line 53  QUOTE *c;
         MKQUOTE(*c,fn);          MKQUOTE(*c,fn);
 }  }
   
 void polytoquote(), dctoquote(), vartoquote();  void objtoquote(Obj a,QUOTE *c)
 void dptoquote(), mptoquote();  
   
 void objtoquote(a,c)  
 Obj a;  
 QUOTE *c;  
 {  {
         QUOTE nm,dn;          QUOTE nm,dn;
         NODE arg,t0,t,t1,t2,t3;          NODE arg,t0,t,t1,t2,t3;
Line 173  QUOTE *c;
Line 151  QUOTE *c;
         }          }
 }  }
   
 void polytoquote(a,c)  void polytoquote(P a,QUOTE *c)
 P a;  
 QUOTE *c;  
 {  {
         DCP dc,t;          DCP dc,t;
         DCP *dca;          DCP *dca;
Line 201  QUOTE *c;
Line 177  QUOTE *c;
         *c = r;          *c = r;
 }  }
   
 void dptoquote(a,c)  void dptoquote(DP a,QUOTE *c)
 DP a;  
 QUOTE *c;  
 {  {
         MP t;          MP t;
         MP *m;          MP *m;
Line 228  QUOTE *c;
Line 202  QUOTE *c;
         *c = r;          *c = r;
 }  }
   
 void dctoquote(dc,v,c)  void dctoquote(DCP dc,QUOTE v,QUOTE *c)
 DCP dc;  
 QUOTE v;  
 QUOTE *c;  
 {  {
         QUOTE r,d,s,u;          QUOTE d,s,u;
   
         if ( UNIQ(COEF(dc)) ) {          if ( UNIQ(COEF(dc)) ) {
                 if ( DEG(dc) ) {                  if ( DEG(dc) ) {
                         if ( UNIQ(DEG(dc)) )                          if ( UNIQ(DEG(dc)) )
                                 *c = v;                                  *c = v;
                         else {                          else {
                                 objtoquote(DEG(dc),&d);                                  objtoquote((Obj)DEG(dc),&d);
                                 pwrquote(CO,v,d,c);                                  pwrquote(CO,v,d,c);
                         }                          }
                 } else                  } else
                         objtoquote(ONE,c);                          objtoquote((Obj)ONE,c);
         } else {          } else {
                 objtoquote(COEF(dc),&u);                  objtoquote((Obj)COEF(dc),&u);
                 if ( DEG(dc) ) {                  if ( DEG(dc) ) {
                         if ( UNIQ(DEG(dc)) )                          if ( UNIQ(DEG(dc)) )
                                 s = v;                                  s = v;
                         else {                          else {
                                 objtoquote(DEG(dc),&d);                                  objtoquote((Obj)DEG(dc),&d);
                                 pwrquote(CO,v,d,&s);                                  pwrquote(CO,v,d,&s);
                         }                          }
                         mulquote(CO,u,s,c);                          mulquote(CO,u,s,c);
Line 260  QUOTE *c;
Line 231  QUOTE *c;
         }          }
 }  }
   
 void mptoquote(m,n,c)  void mptoquote(MP m,int n,QUOTE *c)
 MP m;  
 int n;  
 QUOTE *c;  
 {  {
         QUOTE s,u;          QUOTE s,u;
         NODE t,t1;          NODE t,t1;
Line 272  QUOTE *c;
Line 240  QUOTE *c;
         DL dl;          DL dl;
         int i;          int i;
   
         objtoquote(C(m),&s);          objtoquote((Obj)C(m),&s);
         dl = m->dl;          dl = m->dl;
         for ( i = n-1; i >= 0; i-- ) {          for ( i = n-1, t = 0; i >= 0; i-- ) {
                 STOQ(dl->d[i],q);                  STOQ(dl->d[i],q);
                 f = mkfnode(1,I_FORMULA,q);                  f = mkfnode(1,I_FORMULA,q);
                 MKNODE(t1,f,t);                  MKNODE(t1,f,t);
Line 284  QUOTE *c;
Line 252  QUOTE *c;
         mulquote(CO,s,u,c);          mulquote(CO,s,u,c);
 }  }
   
 void vartoquote(v,c)  void vartoquote(V v,QUOTE *c)
 V v;  
 QUOTE *c;  
 {  {
         P x;          P x;
         PF pf;          PF pf;

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

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