=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/include/ca.h,v retrieving revision 1.32 retrieving revision 1.34 diff -u -p -r1.32 -r1.34 --- OpenXM_contrib2/asir2000/include/ca.h 2001/12/25 02:39:03 1.32 +++ OpenXM_contrib2/asir2000/include/ca.h 2002/11/22 07:32:11 1.34 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/include/ca.h,v 1.31 2001/12/21 08:23:12 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/include/ca.h,v 1.33 2002/01/28 00:54:43 noro Exp $ */ #include @@ -824,6 +824,8 @@ if(!(r)){(c)=(r)=(s);}else{NEXT(c)=(s);(c)=(s);} #define _FREEMP(m) NEXT(m)=_mp_free_list; _mp_free_list=(m) #define _FREEDP(m) BDY(m)=(MP)_dp_free_list; _dp_free_list=(m) +#define MUL_WEIGHT(a,i) (current_dl_weight_vector?(a)*current_dl_weight_vector[i]:(a)) + /* externals */ #if 0 double NatToReal(); @@ -880,6 +882,8 @@ extern int *current_gfs_plus1; extern int *current_gfs_ntoi; extern int *current_gfs_iton; +extern int *current_dl_weight_vector; + /* prototypes */ int compui(VL,USINT,USINT); int compbytearray(VL,BYTEARRAY,BYTEARRAY); @@ -1863,8 +1867,8 @@ int berlekampsf(UM p,int df,UM *tab,UM *r); void minipolysf(UM f,UM p,UM mp); int find_rootsf(UM p,int *root); void canzassf(UM f,int d,UM *r); -void sfhensel(int count,P f,V x,int degbound,GFS *evp,P *sfp,ML *listp); -int sfberle(VL vl,P f,int count,GFS *ev,DCP *dcp); +void sfhensel(int count,P f,V x,V y,int degbound,GFS *evp,P *sfp,ML *listp); +int sfberle(V x,V y,P f,int count,GFS *ev,DCP *dcp); void sfgcdgen(P f,ML blist,ML *clistp); void sfhenmain2(BM f,UM g0,UM h0,int dy,BM *gp); void ptosfbm(int dy,P f,BM fl);