=================================================================== RCS file: /home/cvs/OpenXM/src/asir-contrib/testing/noro/Attic/pd.rr,v retrieving revision 1.8 retrieving revision 1.12 diff -u -p -r1.8 -r1.12 --- OpenXM/src/asir-contrib/testing/noro/Attic/pd.rr 2010/06/09 08:28:57 1.8 +++ OpenXM/src/asir-contrib/testing/noro/Attic/pd.rr 2014/09/05 11:55:19 1.12 @@ -1,6 +1,6 @@ +/* $OpenXM: OpenXM/src/asir-contrib/testing/noro/pd.rr,v 1.11 2010/08/20 04:21:18 noro Exp $ */ import("gr")$ module noro_pd$ - static GBCheck,F4,Procs,SatHomo$ localf init_procs, kill_procs, syca_dec, syc_dec, find_separating_ideal0$ @@ -154,8 +154,6 @@ T00 = time(); Ok = find_separating_ideal1(C,G,IntQ,IntP,V,Ord|mod=Mod); else if ( SepIdeal == 2 ) Ok = find_separating_ideal2(C,G,IntQ,IntP,V,Ord|mod=Mod); - else if ( SepIdeal == 3 ) - Ok = find_separating_ideal2(C,G,IntQ,IntP,V,Ord|mod=Mod,complete=1); G1 = append(Ok,G); Gt1 = incremental_gb(G1,V,Ord|mod=Mod); T1 = time(); Tsep += T1[0]-T0[0]+T1[1]-T0[1]; Rsep += T1[3]-T0[3]; @@ -232,8 +230,6 @@ T00 = time(); Ok = find_separating_ideal1(C,Gt,IntQt,IntPt,V,Ord|mod=Mod); else if ( SepIdeal == 2 ) Ok = find_separating_ideal2(C,Gt,IntQt,IntPt,V,Ord|mod=Mod); - else if ( SepIdeal == 3 ) - Ok = find_separating_ideal2(C,Gt,IntQt,IntPt,V,Ord|mod=Mod,complete=1); G1 = append(Ok,Gt); Gt = incremental_gb(G1,V,Ord|mod=Mod); T1 = time(); Tsep += T1[0]-T0[0]+T1[1]-T0[1]; Rsep += T1[3]-T0[3]; @@ -280,8 +276,8 @@ def find_separating_ideal1(C,G,Q,Rad,V,Ord) { /* check whether (Q cap (G+S)) = G */ if ( gen_gb_comp(Int,G,Mod) ) return reverse(S); - /* or qsort(C,comp_tdeg) */ - C = qsort(S,comp_tdeg); + /* or qsort(C,noro_pd.comp_tdeg) */ + C = qsort(S,noro_pd.comp_tdeg); Tmp = ttttt; TV = cons(Tmp,V); Ord1 = [[0,1],[Ord,length(V)]]; Int0 = incremental_gb(append(vtol(ltov(G)*Tmp),vtol(ltov(Q)*(1-Tmp))), @@ -315,7 +311,6 @@ def find_separating_ideal1(C,G,Q,Rad,V,Ord) { def find_separating_ideal2(C,G,Q,Rad,V,Ord) { if ( type(Mod=getopt(mod)) == -1 ) Mod = 0; - if ( type(Complete=getopt(complete)) == -1 ) Complete = 0; for ( T = C, S = []; T != []; T = cdr(T) ) if ( gen_nf(car(T),Q,V,Ord,Mod) ) S = cons(car(T),S); if ( S == [] ) @@ -325,8 +320,8 @@ def find_separating_ideal2(C,G,Q,Rad,V,Ord) { /* check whether (Q cap (G+S)) = G */ if ( gen_gb_comp(Int,G,Mod) ) return reverse(S); - /* or qsort(S,comp_tdeg) */ - C = qsort(C,comp_tdeg); + /* or qsort(S,noro_pd.comp_tdeg) */ + C = qsort(C,noro_pd.comp_tdeg); Dp = dp_gr_print(); dp_gr_print(0); for ( T = C, S = []; T != []; T = cdr(T) ) { if ( !gen_nf(car(T),Rad,V,Ord,Mod) ) continue; @@ -343,11 +338,7 @@ def find_separating_ideal2(C,G,Q,Rad,V,Ord) { S = cons(Ui,S); } print(""); -#if 1 - S = qsort(S,comp_tdeg); -#else - S = reverse(S); -#endif + S = qsort(S,noro_pd.comp_tdeg); End = Len = length(S); Tmp = ttttt; TV = cons(Tmp,V); Ord1 = [[0,1],[Ord,length(V)]]; @@ -376,17 +367,14 @@ def find_separating_ideal2(C,G,Q,Rad,V,Ord) { } else St = [S[0]]; print(""); - - if ( Complete ) { - for ( I = Prev; I < Len; I++ ) { - Int1 = incremental_gb(append(Int0,[Tmp*S[I]]),TV,Ord1 - |gbblock=[[0,length(Int0)]],mod=Mod); - Int = elimination(Int1,V); - if ( gen_gb_comp(Int,G,Mod) ) { - print([I],2); - St = cons(S[I],St); - Int0 = Int1; - } + for ( I = Prev; I < Len; I++ ) { + Int1 = incremental_gb(append(Int0,[Tmp*S[I]]),TV,Ord1 + |gbblock=[[0,length(Int0)]],mod=Mod); + Int = elimination(Int1,V); + if ( gen_gb_comp(Int,G,Mod) ) { + print([I],2); + St = cons(S[I],St); + Int0 = Int1; } } Ok = reverse(St); @@ -448,11 +436,11 @@ def pseudo_dec(G,L,V,Ord) for ( I = 0; I < N; I++ ) { LI = setminus(L0,[L0[I]]); PI = ideal_list_intersection(LI,V,Ord|mod=Mod); - PI = qsort(PI,comp_tdeg); + PI = qsort(PI,noro_pd.comp_tdeg); for ( T = PI; T != []; T = cdr(T) ) if ( gen_nf(car(T),L0[I],V,Ord,Mod) ) break; if ( T == [] ) error("separator : cannot happen"); - SI = satind(G,car(T),V|mod=Mod); + SI = sat_ind(G,car(T),V|mod=Mod); QI = SI[0]; S[I] = car(T)^SI[1]; PV = L[I][1]; @@ -466,7 +454,7 @@ def pseudo_dec(G,L,V,Ord) #endif LCFI = lcfactor(GI,V0,Ord,Mod); for ( F = 1, T = LCFI, Gt = QI; T != []; T = cdr(T) ) { - St = satind(Gt,T[0],V|mod=Mod); + St = sat_ind(Gt,T[0],V|mod=Mod); Gt = St[0]; F *= T[0]^St[1]; } Q[I] = [Gt,L0[I]]; @@ -522,7 +510,7 @@ def prima_dec(B,V) L = zprimacomp(G,V0|mod=Mod); F = 1; for ( T = LCF, G2 = G; T != []; T = cdr(T) ) { - S = satind(G2,T[0],V1|mod=Mod); + S = sat_ind(G2,T[0],V1|mod=Mod); G2 = S[0]; F *= T[0]^S[1]; } for ( T = L, QL = []; T != []; T = cdr(T) ) @@ -1229,7 +1217,7 @@ def ideal_product(A,B,V) for ( T = PA; T != []; T = cdr(T) ) for ( S = PB; S != []; S = cdr(S) ) R = cons([car(T)[0]*car(S)[0],car(T)[1]+car(S)[1]],R); - T = qsort(R,comp_by_second); + T = qsort(R,noro_pd.comp_by_second); T = map(first_element,T); Len = length(A)>length(B)?length(A):length(B); Len *= 2;