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

Diff for /OpenXM_contrib2/asir2000/engine/Fgfs.c between version 1.17 and 1.21

version 1.17, 2003/01/13 06:40:41 version 1.21, 2004/04/03 05:52:56
Line 1 
Line 1 
 /* $OpenXM: OpenXM_contrib2/asir2000/engine/Fgfs.c,v 1.16 2003/01/06 09:23:27 noro Exp $ */  /* $OpenXM: OpenXM_contrib2/asir2000/engine/Fgfs.c,v 1.20 2004/02/03 23:31:57 noro Exp $ */
   
 #include "ca.h"  #include "ca.h"
   
Line 497  void cont_pp_mv_sf(VL vl,VL rvl,P p,P *c,P *pp)
Line 497  void cont_pp_mv_sf(VL vl,VL rvl,P p,P *c,P *pp)
         MP t;          MP t;
         int i,m;          int i,m;
         P *ps;          P *ps;
         struct order_spec spec, currentspec;          struct order_spec *spec, *currentspec;
         extern struct order_spec dp_current_spec;          extern struct order_spec *dp_current_spec;
   
         currentspec = dp_current_spec;          currentspec = dp_current_spec;
         create_order_spec(0,&spec);          create_order_spec(0,0,&spec);
         initd(&spec);          initd(spec);
         ptod(vl,rvl,p,&dp);          ptod(vl,rvl,p,&dp);
         for ( t = BDY(dp), m = 0; t; t = NEXT(t), m++ );          for ( t = BDY(dp), m = 0; t; t = NEXT(t), m++ );
         ps = (P *)ALLOCA(m*sizeof(P));          ps = (P *)ALLOCA(m*sizeof(P));
Line 510  void cont_pp_mv_sf(VL vl,VL rvl,P p,P *c,P *pp)
Line 510  void cont_pp_mv_sf(VL vl,VL rvl,P p,P *c,P *pp)
                 ps[i] = C(t);                  ps[i] = C(t);
         gcdsf(vl,ps,m,c);          gcdsf(vl,ps,m,c);
         divsp(vl,p,*c,pp);          divsp(vl,p,*c,pp);
         initd(&currentspec);          initd(currentspec);
 }  }
   
 void mfctrsf(VL vl, P f, DCP *dcp)  void mfctrsf(VL vl, P f, DCP *dcp)
Line 561  void mfctrsfmain(VL vl, P f, DCP *dcp)
Line 561  void mfctrsfmain(VL vl, P f, DCP *dcp)
                 return;                  return;
         }          }
         for ( n = 0, tvl = vl; tvl; tvl = NEXT(tvl), n++ );          for ( n = 0, tvl = vl; tvl; tvl = NEXT(tvl), n++ );
         va = (V *)ALLOCA(n*sizeof(int));          va = (V *)ALLOCA(n*sizeof(V));
         da = (int *)ALLOCA(n*sizeof(int));          da = (int *)ALLOCA(n*sizeof(int));
         /* find v s.t. diff(f,v) is nonzero and deg(f,v) is minimal */          /* find v s.t. diff(f,v) is nonzero and deg(f,v) is minimal */
         imin = -1;          imin = -1;
Line 979  void mfctrsf_hensel(VL vl,VL rvl,P f,P pp0,P u0,P v0,P
Line 979  void mfctrsf_hensel(VL vl,VL rvl,P f,P pp0,P u0,P v0,P
                 addp(vl,v,wv,&t); v = t;                  addp(vl,v,wv,&t); v = t;
                 addp(vl,vh[j],wv,&t); vh[j] = t;                  addp(vl,vh[j],wv,&t); vh[j] = t;
         }          }
           gfsn_poly_to_poly(vl,u,vy,&t);
           shift_sf(vl,rvl,t,mev,-1,&s);
           if ( divtp(vl,fin,s,&q) )
                   cont_pp_mv_sf(vl,onevl,s,&cont,up);
           else
                   *up = 0;
 }  }
   
 void adjust_coef_sf(VL vl,VL rvl,P lcu,P u0,int *mev,P *r)  void adjust_coef_sf(VL vl,VL rvl,P lcu,P u0,int *mev,P *r)

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.21

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