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

Diff for /OpenXM_contrib2/asir2000/parse/puref.c between version 1.3 and 1.4

version 1.3, 2000/08/22 05:04:27 version 1.4, 2001/10/09 01:36:24
Line 45 
Line 45 
  * 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/parse/puref.c,v 1.2 2000/08/21 08:31:47 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/parse/puref.c,v 1.3 2000/08/22 05:04:27 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
   
 NODE pflist;  NODE pflist;
   
 void searchpf(name,fp)  void searchpf(char *name,FUNC *fp)
 char *name;  
 FUNC *fp;  
 {  {
         NODE node;          NODE node;
         PF pf;          PF pf;
Line 71  FUNC *fp;
Line 69  FUNC *fp;
         *fp = 0;          *fp = 0;
 }  }
   
 void searchc(name,fp)  void searchc(char *name,FUNC *fp)
 char *name;  
 FUNC *fp;  
 {  {
         NODE node;          NODE node;
         PF pf;          PF pf;
Line 91  FUNC *fp;
Line 87  FUNC *fp;
         *fp = 0;          *fp = 0;
 }  }
   
 void mkpf(name,body,argc,args,parif,libmf,simp,pfp)  void mkpf(char *name,Obj body,int argc,V *args,
 char *name;          int (*parif)(),double (*libmf)(), int (*simp)(),PF *pfp)
 Obj body;  
 int argc;  
 V *args;  
 int (*parif)(),(*simp)();  
 double (*libmf)();  
 PF *pfp;  
 {  {
         PF pf;          PF pf;
         NODE node;          NODE node;
Line 123  PF *pfp;
Line 113  PF *pfp;
    each arg.     each arg.
  */   */
   
 void mkpfins(pf,args,vp)  void mkpfins(PF pf,V *args,V *vp)
 PF pf;  
 V *args;  
 V *vp;  
 {  {
         V v;          V v;
         PFINS ins;          PFINS ins;
Line 147  V *vp;
Line 134  V *vp;
   
 /* the same as above. Argements are given as an array of Obj */  /* the same as above. Argements are given as an array of Obj */
   
 void _mkpfins(pf,args,vp)  void _mkpfins(PF pf,Obj *args,V *vp)
 PF pf;  
 Obj *args;  
 V *vp;  
 {  {
         V v;          V v;
         PFINS ins;          PFINS ins;
Line 170  V *vp;
Line 154  V *vp;
   
 /* the same as above. darray is also given */  /* the same as above. darray is also given */
   
 void _mkpfins_with_darray(pf,args,darray,vp)  void _mkpfins_with_darray(PF pf,Obj *args,int *darray,V *vp)
 PF pf;  
 Obj *args;  
 int *darray;  
 V *vp;  
 {  {
         V v;          V v;
         PFINS ins;          PFINS ins;
Line 192  V *vp;
Line 172  V *vp;
         appendpfins(v,vp);          appendpfins(v,vp);
 }  }
   
 void appendpfins(v,vp)  void appendpfins(V v,V *vp)
 V v;  
 V *vp;  
 {  {
         PF fdef;          PF fdef;
         PFAD ad,tad;          PFAD ad,tad;
Line 216  V *vp;
Line 194  V *vp;
         fdef->ins = node; appendvar(CO,v); *vp = v;          fdef->ins = node; appendvar(CO,v); *vp = v;
 }  }
   
 void duppfins(v,vp)  void duppfins(V v,V *vp)
 V v;  
 V *vp;  
 {  {
         V tv;          V tv;
         PFINS tins;          PFINS tins;
Line 231  V *vp;
Line 207  V *vp;
         *vp = tv;          *vp = tv;
 }  }
   
 void derivvar(vl,pf,v,a)  void derivvar(VL vl,V pf,V v,Obj *a)
 VL vl;  
 V pf,v;  
 Obj *a;  
 {  {
         Obj t,s,u,w,u1;          Obj t,s,u,w,u1;
         P p;          P p;
Line 264  Obj *a;
Line 237  Obj *a;
         }          }
 }  }
   
 void derivr(vl,a,v,b)  void derivr(VL vl,Obj a,V v,Obj *b)
 VL vl;  
 V v;  
 Obj a,*b;  
 {  {
         VL tvl,svl;          VL tvl,svl;
         Obj r,s,t,u,nm,dn,dnm,ddn,m;          Obj r,s,t,u,nm,dn,dnm,ddn,m;
Line 314  Obj a,*b;
Line 284  Obj a,*b;
         }          }
 }  }
   
 void substr(vl,partial,a,v,b,c)  void substr(VL vl,int partial,Obj a,V v,Obj b,Obj *c)
 VL vl;  
 int partial;  
 Obj a;  
 V v;  
 Obj b;  
 Obj *c;  
 {  {
         Obj nm,dn,t;          Obj nm,dn,t;
   
Line 343  Obj *c;
Line 307  Obj *c;
         }          }
 }  }
   
 void substpr(vl,partial,p,v0,p0,pr)  void substpr(VL vl,int partial,Obj p,V v0,Obj p0,Obj *pr)
 VL vl;  
 int partial;  
 V v0;  
 Obj p;  
 Obj p0;  
 Obj *pr;  
 {  {
         P x;          P x;
         Obj t,m,c,s,a;          Obj t,m,c,s,a;
Line 409  Obj *pr;
Line 367  Obj *pr;
         }          }
 }  }
   
 void evalr(vl,a,prec,c)  void evalr(VL vl,Obj a,int prec,Obj *c)
 VL vl;  
 Obj a;  
 int prec;  
 Obj *c;  
 {  {
         Obj nm,dn;          Obj nm,dn;
   
Line 435  Obj *c;
Line 389  Obj *c;
         }          }
 }  }
   
 void evalp(vl,p,prec,pr)  void evalp(VL vl,P p,int prec,P *pr)
 VL vl;  
 P p;  
 int prec;  
 P *pr;  
 {  {
         P t;          P t;
         DCP dc,dcr0,dcr;          DCP dc,dcr0,dcr;
Line 467  P *pr;
Line 417  P *pr;
         }          }
 }  }
   
 void evalv(vl,v,prec,rp)  void evalv(VL vl,V v,int prec,Obj *rp)
 VL vl;  
 V v;  
 int prec;  
 Obj *rp;  
 {  {
         PFINS ins,tins;          PFINS ins,tins;
         PFAD ad,tad;          PFAD ad,tad;
Line 492  Obj *rp;
Line 438  Obj *rp;
         }          }
 }  }
   
 void evalins(ins,prec,rp)  void evalins(PFINS ins,int prec,Obj *rp)
 PFINS ins;  
 int prec;  
 Obj *rp;  
 {  {
         PF pf;          PF pf;
         PFAD ad;          PFAD ad;
Line 524  Obj *rp;
Line 467  Obj *rp;
         }          }
 }  }
   
 void devalins(PFINS,Obj *);  void devalr(VL vl,Obj a,Obj *c)
 void devalv(VL,V,Obj *);  
 void devalp(VL,P,P *);  
 void devalr(VL,Obj,Obj *);  
   
 void devalr(vl,a,c)  
 VL vl;  
 Obj a;  
 Obj *c;  
 {  {
         Obj nm,dn;          Obj nm,dn;
         double d;          double d;
Line 560  Obj *c;
Line 495  Obj *c;
         }          }
 }  }
   
 void devalp(vl,p,pr)  void devalp(VL vl,P p,P *pr)
 VL vl;  
 P p;  
 P *pr;  
 {  {
         P t;          P t;
         DCP dc,dcr0,dcr;          DCP dc,dcr0,dcr;
Line 606  P *pr;
Line 538  P *pr;
         }          }
 }  }
   
 void devalv(vl,v,rp)  void devalv(VL vl,V v,Obj *rp)
 VL vl;  
 V v;  
 Obj *rp;  
 {  {
         PFINS ins,tins;          PFINS ins,tins;
         PFAD ad,tad;          PFAD ad,tad;
         PF pf;          PF pf;
         P t;          P t;
         Obj s;  
         int i;          int i;
   
         if ( (vid)v->attr != V_PF ) {          if ( (vid)v->attr != V_PF ) {
Line 631  Obj *rp;
Line 559  Obj *rp;
         }          }
 }  }
   
 void devalins(ins,rp)  void devalins(PFINS ins,Obj *rp)
 PFINS ins;  
 Obj *rp;  
 {  {
         PF pf;          PF pf;
         PFAD ad;          PFAD ad;
         int i;          int i;
         Real r;          Real r;
         double d;          double d;
         Q q;  
         V v;          V v;
         P x;          P x;
   
Line 671  Obj *rp;
Line 596  Obj *rp;
         }          }
 }  }
   
 void simplify_ins(ins,rp)  void simplify_ins(PFINS ins,Obj *rp)
 PFINS ins;  
 Obj *rp;  
 {  {
         V v;          V v;
         P t;          P t;
Line 685  Obj *rp;
Line 608  Obj *rp;
         }          }
 }  }
   
 void instov(ins,vp)  void instov(PFINS ins,V *vp)
 PFINS ins;  
 V *vp;  
 {  {
         V v;          V v;
   
Line 696  V *vp;
Line 617  V *vp;
         appendpfins(v,vp);          appendpfins(v,vp);
 }  }
   
 void substfr(vl,a,u,f,c)  void substfr(VL vl,Obj a,PF u,PF f,Obj *c)
 VL vl;  
 Obj a;  
 PF u,f;  
 Obj *c;  
 {  {
         Obj nm,dn;          Obj nm,dn;
   
Line 722  Obj *c;
Line 639  Obj *c;
         }          }
 }  }
   
 void substfp(vl,p,u,f,pr)  void substfp(VL vl,Obj p,PF u,PF f,Obj *pr)
 VL vl;  
 Obj p;  
 PF u,f;  
 Obj *pr;  
 {  {
         V v;          V v;
         DCP dc;          DCP dc;
Line 767  Obj *pr;
Line 680  Obj *pr;
         }          }
 }  }
   
 void substfv(vl,v,u,f,c)  void substfv(VL vl,V v,PF u,PF f,Obj *c)
 VL vl;  
 V v;  
 PF u,f;  
 Obj *c;  
 {  {
         P t;          P t;
         Obj r,s,w;          Obj r,s,w;

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

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