=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/lib/primdec_mod,v retrieving revision 1.12 retrieving revision 1.15 diff -u -p -r1.12 -r1.15 --- OpenXM_contrib2/asir2000/lib/primdec_mod 2003/10/20 00:58:47 1.12 +++ OpenXM_contrib2/asir2000/lib/primdec_mod 2006/02/24 01:15:56 1.15 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM_contrib2/asir2000/lib/primdec_mod,v 1.11 2003/08/05 05:56:19 noro Exp $ */ +/* $OpenXM: OpenXM_contrib2/asir2000/lib/primdec_mod,v 1.14 2004/07/30 02:24:11 noro Exp $ */ extern Hom,GBTime$ extern DIVLIST,INTIDEAL,ORIGINAL,ORIGINALDIMENSION,STOP,Trials,REM$ @@ -7,8 +7,8 @@ extern BuchbergerMinipoly,PartialDecompByLex,ParallelM extern B_Win,D_Win$ extern COMMONCHECK_SF,CID_SF$ -if (!module_definedp("fff")) load("fff") $$ -if (!module_definedp("gr")) load("gr") $$ +if (!module_definedp("fff")) load("fff"); else $ +if (!module_definedp("gr")) load("gr"); else $ module primdec_mod $ /* Empty for now. It will be used in a future. */ endmodule $ @@ -1974,11 +1974,13 @@ def contraction(P,V,W) /* This procedure is called by zeroprimedecomposition. */ /* So, P is supposed to be a GB w.r.t. DRL. */ + Ord0 = dp_ord(); Ord=0; YSet=setminus(W,V); Ord1 = [[Ord,length(V)],[0,length(YSet)]]; - GP1 = dp_gr_f_main(P,W,Hom,Ord1); + W1 = append(V,YSet); + GP1 = dp_gr_f_main(P,W1,Hom,Ord1); Factor = extcont_factor(GP1,V,Ord); for ( F = 1, T = Factor; T != []; T = cdr(T) ) @@ -1990,6 +1992,7 @@ def contraction(P,V,W) for ( T = G; T != []; T = cdr(T) ) if ( !member(Vt,vars(car(T))) ) R = cons(car(T),R); + dp_ord(Ord0); return [R,F]; }