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

Diff for /OpenXM_contrib2/asir2000/engine/Hgfs.c between version 1.22 and 1.23

version 1.22, 2002/09/27 04:24:04 version 1.23, 2002/09/27 08:40:48
Line 1 
Line 1 
 /* $OpenXM: OpenXM_contrib2/asir2000/engine/Hgfs.c,v 1.21 2001/11/19 00:57:11 noro Exp $ */  /* $OpenXM: OpenXM_contrib2/asir2000/engine/Hgfs.c,v 1.22 2002/09/27 04:24:04 noro Exp $ */
   
 #include "ca.h"  #include "ca.h"
 #include "inline.h"  #include "inline.h"
Line 650  int sfberle(VL vl,P f,int count,GFS *ev,DCP *dcp)
Line 650  int sfberle(VL vl,P f,int count,GFS *ev,DCP *dcp)
         V x,y;          V x,y;
         P lc,lc0,f0;          P lc,lc0,f0;
         Obj obj;          Obj obj;
         int j,q1,index,i;          int j,q,index,i;
   
         clctv(vl,f,&nvl); vl = nvl;          clctv(vl,f,&nvl); vl = nvl;
         x = vl->v; y = vl->next->v;          x = vl->v; y = vl->next->v;
Line 658  int sfberle(VL vl,P f,int count,GFS *ev,DCP *dcp)
Line 658  int sfberle(VL vl,P f,int count,GFS *ev,DCP *dcp)
         n = QTOS(DEG(DC(f)));          n = QTOS(DEG(DC(f)));
         wf = W_UMALLOC(n); wf1 = W_UMALLOC(n); wf2 = W_UMALLOC(n);          wf = W_UMALLOC(n); wf1 = W_UMALLOC(n); wf2 = W_UMALLOC(n);
         wfs = W_UMALLOC(n); gcd = W_UMALLOC(n);          wfs = W_UMALLOC(n); gcd = W_UMALLOC(n);
         q1 = field_order_sf()-1;          q = field_order_sf();
         lc = DC(f)->c;          lc = DC(f)->c;
         for ( j = 0, fn = n + 1, index = 0;          for ( j = 0, fn = n + 1, index = 0;
                 index < q1 && j < count && fn > 1; index++ ) {                  index < q && j < count && fn > 1; index++ ) {
                 MKGFS(index,m);                  indextogfs(index,&m);
                 substp(vl,lc,y,(P)m,&lc0);                  substp(vl,lc,y,(P)m,&lc0);
                 if ( lc0 ) {                  if ( lc0 ) {
                         substp(vl,f,y,(P)m,&f0);                          substp(vl,f,y,(P)m,&f0);
Line 678  int sfberle(VL vl,P f,int count,GFS *ev,DCP *dcp)
Line 678  int sfberle(VL vl,P f,int count,GFS *ev,DCP *dcp)
                         }                          }
                 }                  }
         }          }
         if ( index == q1 )          if ( index == q )
                 return 0;                  return 0;
         else if ( fn == 1 )          else if ( fn == 1 )
                 return 1;                  return 1;
Line 865  void sfbmtop(BM f,V x,V y,P *fp)
Line 865  void sfbmtop(BM f,V x,V y,P *fp)
                         if ( DEG(c[j]) >= i && (a = COEF(c[j])[i]) ) {                          if ( DEG(c[j]) >= i && (a = COEF(c[j])[i]) ) {
                                 NEWDC(dct);                                  NEWDC(dct);
                                 STOQ(j,DEG(dct));                                  STOQ(j,DEG(dct));
                                 MKGFS(IFTOF(a),b);                                  iftogfs(a,&b);
                                 COEF(dct) = (P)b;                                  COEF(dct) = (P)b;
                                 NEXT(dct) = dc;                                  NEXT(dct) = dc;
                                 dc = dct;                                  dc = dct;
Line 1322  void cont_pp_sfp(VL vl,P f,P *cp,P *fp)
Line 1322  void cont_pp_sfp(VL vl,P f,P *cp,P *fp)
         y = vl->next->v;          y = vl->next->v;
         d = getdeg(y,f);          d = getdeg(y,f);
         if ( d == 0 ) {          if ( d == 0 ) {
                 MKGFS(0,g);                  itogfs(1,&g);
                 *cp = (P)g;                  *cp = (P)g;
                 *fp = f;  /* XXX */                  *fp = f;  /* XXX */
         } else {          } else {

Legend:
Removed from v.1.22  
changed lines
  Added in v.1.23

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