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

Diff for /OpenXM_contrib2/asir2000/engine/E.c between version 1.5 and 1.7

version 1.5, 2001/04/20 03:10:36 version 1.7, 2001/06/07 04:54:40
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/E.c,v 1.4 2001/04/20 02:27:52 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/engine/E.c,v 1.6 2001/05/02 09:03:53 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
   
Line 294  Q *qp;
Line 294  Q *qp;
         wm = W_UMALLOC(m+n);          wm = W_UMALLOC(m+n);
   
         for ( q = ONE, t = 0, c = 0, index = 0; ; ) {          for ( q = ONE, t = 0, c = 0, index = 0; ; ) {
                 mod = lprime[index++];                  mod = get_lprime(index++);
                 if ( !mod )  
                         error("henzq1 : lprime[] exhausted.");  
                 if ( !rem(NM((Q)LC(g)),mod) || !rem(NM((Q)LC(h)),mod) )                  if ( !rem(NM((Q)LC(g)),mod) || !rem(NM((Q)LC(h)),mod) )
                         continue;                          continue;
                 ptomp(mod,g,&tg); ptomp(mod,h,&th);                  ptomp(mod,g,&tg); ptomp(mod,h,&th);
Line 342  Q *qp;
Line 340  Q *qp;
                 mulp(CO,gc0,(P)q,&c); gc0 = c; mulp(CO,hc0,(P)q,&c); hc0 = c;                  mulp(CO,gc0,(P)q,&c); gc0 = c; mulp(CO,hc0,(P)q,&c); hc0 = c;
         }          }
         for ( index = 0; ; ) {          for ( index = 0; ; ) {
                 mod = lprime[index++];                  mod = get_lprime(index++);
                 if ( !mod )  
                         error("henzq1 : lprime[] exhausted.");  
                 if ( !rem(NM((Q)zzz),mod) ||                  if ( !rem(NM((Q)zzz),mod) ||
                         !rem(NM((Q)LC(g)),mod) ||                          !rem(NM((Q)LC(g)),mod) ||
                         !rem(NM((Q)LC(h)),mod) )                          !rem(NM((Q)LC(h)),mod) )
Line 513  Q n,m,m2,*nr;
Line 509  Q n,m,m2,*nr;
                         subn(NM(m),r,&s); NTOQ(s,-1*SGN(n),*nr);                          subn(NM(m),r,&s); NTOQ(s,-1*SGN(n),*nr);
                 } else                  } else
                         NTOQ(r,SGN(n),*nr);                          NTOQ(r,SGN(n),*nr);
           }
   }
   
   /*
           extract d-homogeneous part with respect to vl - {v}
   */
   
   void exthpc_generic(vl,p,d,v,pr)
   VL vl;
   P p;
   int d;
   V v;
   P *pr;
   {
           P w,x,t,t1,a,xd;
           V v0;
           DCP dc;
   
           if ( d < 0 || !p )
                   *pr = 0;
           else if ( NUM(p) )
                   if ( d == 0 )
                           *pr = p;
                   else
                           *pr = 0;
           else if ( v == VR(p) )
                   exthpc(vl,v,p,d,pr);
           else {
                   v0 = VR(p);
                   for ( MKV(v0,x), dc = DC(p), w = 0; dc; dc = NEXT(dc) ) {
                           exthpc_generic(vl,COEF(dc),d-QTOS(DEG(dc)),v,&t);
                           pwrp(vl,x,DEG(dc),&xd);
                           mulp(vl,xd,t,&t1); addp(vl,w,t1,&a); w = a;
                   }
                   *pr = w;
         }          }
 }  }
   

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

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