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

Diff for /OpenXM_contrib2/asir2000/engine/PD.c between version 1.4 and 1.5

version 1.4, 2001/03/29 09:49:57 version 1.5, 2001/10/09 01:36:11
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/engine/PD.c,v 1.3 2000/08/22 05:04:04 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/engine/PD.c,v 1.4 2001/03/29 09:49:57 noro Exp $
 */  */
 #ifndef FBASE  #ifndef FBASE
 #define FBASE  #define FBASE
Line 169  P p1,p2,*q;
Line 169  P p1,p2,*q;
 }  }
   
 #ifdef FBASE  #ifdef FBASE
 void plisttop(f,v,n,gp)  void plisttop(P *f,V v,int n,P *gp)
 P *f;  
 V v;  
 int n;  
 P *gp;  
 {  {
         int i;          int i;
         DCP dc,dc0;          DCP dc,dc0;
Line 200  P *gp;
Line 196  P *gp;
   
 /* for multivariate polynomials over fields */  /* for multivariate polynomials over fields */
   
 int divtp(vl,p1,p2,q)  int divtp(VL vl,P p1,P p2,P *q)
 VL vl;  
 P p1,p2,*q;  
 {  {
         register int i,j,k;          register int i,j;
         register DCP dc1,dc2,dc;          register DCP dc1,dc2,dc;
         P m,m1,s,dvr,t;          P m,m1,s,dvr,t;
         P *pq,*pr,*pd;          P *pq,*pr,*pd;
Line 286  P p1,p2,*q;
Line 280  P p1,p2,*q;
         }          }
 }  }
   
 int divtdcp(vl,p1,p2,q)  int divtdcp(VL vl,P p1,P p2,P *q)
 VL vl;  
 P p1,p2,*q;  
 {  {
   
         P m;          P m;
         register DCP dc,dcr,dcr0,dct;          register DCP dc,dcr,dcr0;
   
         for ( dc = DC(p1), dcr0 = 0; dc; dc = NEXT(dc) )          for ( dc = DC(p1), dcr0 = 0; dc; dc = NEXT(dc) )
                 if ( !divtp(vl,COEF(dc),p2,&m) ) {                  if ( !divtp(vl,COEF(dc),p2,&m) ) {
Line 305  P p1,p2,*q;
Line 297  P p1,p2,*q;
         return 1;          return 1;
 }  }
   
 int divtpz(vl,p1,p2,q)  int divtpz(VL vl,P p1,P p2,P *q)
 VL vl;  
 P p1,p2,*q;  
 {  {
         register int i,j;          register int i,j;
         register DCP dc1,dc2,dc;          register DCP dc1,dc2,dc;
Line 407  P p1,p2,*q;
Line 397  P p1,p2,*q;
         }          }
 }  }
   
 int divtdcpz(vl,p1,p2,q)  int divtdcpz(VL vl,P p1,P p2,P *q)
 VL vl;  
 P p1,p2,*q;  
 {  {
   
         P m;          P m;
Line 426  P p1,p2,*q;
Line 414  P p1,p2,*q;
         return ( 1 );          return ( 1 );
 }  }
   
 void udivpz(f1,f2,fqp,frp)  void udivpz(P f1,P f2,P *fqp,P *frp)
 P f1,f2,*fqp,*frp;  
 {  {
         register int n1,n2,i,j;          register int n1,n2,i,j;
         Q *pq,*pr,*pd,d,m,s,q;          Q *pq,*pr,*pd,d,m,s,q;
Line 492  P f1,f2,*fqp,*frp;
Line 479  P f1,f2,*fqp,*frp;
         plisttop((P *)pq,VR(f1),n1-n2,fqp); plisttop((P *)pr,VR(f1),n2-1,frp);          plisttop((P *)pq,VR(f1),n1-n2,fqp); plisttop((P *)pr,VR(f1),n2-1,frp);
 }  }
   
 void udivpwm(mod,p1,p2,q,r)  void udivpwm(Q mod,P p1,P p2,P *q,P *r)
 Q mod;  
 P p1,p2;  
 P *q,*r;  
 {  {
         P s,t,u,tq,tr;          P s,t,u,tq,tr;
   
Line 504  P *q,*r;
Line 488  P *q,*r;
         cmp(mod,tr,r); mulpq(tq,t,&s); cmp(mod,s,q);          cmp(mod,tr,r); mulpq(tq,t,&s); cmp(mod,s,q);
 }  }
   
 void udivpzwm(mod,f1,f2,fqp,frp)  void udivpzwm(Q mod,P f1,P f2,P *fqp,P *frp)
 Q mod;  
 P f1,f2,*fqp,*frp;  
 {  {
         register int n1,n2,i,j;          register int n1,n2,i,j;
         Q *pq,*pr,*pd,d,m,s,q;          Q *pq,*pr,*pd,d,m,s,q;

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

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