=================================================================== RCS file: /home/cvs/OpenXM/src/asir-contrib/packages/src/noro_pd.rr,v retrieving revision 1.5 retrieving revision 1.6 diff -u -p -r1.5 -r1.6 --- OpenXM/src/asir-contrib/packages/src/noro_pd.rr 2017/02/28 07:06:28 1.5 +++ OpenXM/src/asir-contrib/packages/src/noro_pd.rr 2017/03/09 07:49:39 1.6 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/asir-contrib/packages/src/noro_pd.rr,v 1.4 2017/02/22 06:20:00 noro Exp $ */ +/* $OpenXM: OpenXM/src/asir-contrib/packages/src/noro_pd.rr,v 1.5 2017/02/28 07:06:28 noro Exp $ */ import("gr")$ module noro_pd$ static GBF4,GBTrace,GBCheck,Chrem,EProcs,Procs,SatHomo,GBRat,SuccSat,RepColon,IntGB,UsualInt$ @@ -298,11 +298,15 @@ ACCUM_TIME(Text,RText) } print(""); T0 = time(); - Int = Rad; - for ( T = Rt; T != []; T = cdr(T) ) - if ( !gb_comp(car(T)[0],car(T)[1]) ) - Int = ideal_intersection_m(Int,car(T)[0],V,Ord|mod=Mod); - IntQ = fast_gb(Int,V,Mod,Ord); + if ( zero_dim(G,V,Ord) ) { + IntQ = G; + } else { + Int = Rad; + for ( T = Rt; T != []; T = cdr(T) ) + if ( !gb_comp(car(T)[0],car(T)[1]) ) + Int = ideal_intersection_m(Int,car(T)[0],V,Ord|mod=Mod); + IntQ = fast_gb(Int,V,Mod,Ord); + } ACCUM_TIME(Tint,RTint) RL = append(RL,[Rt]); } else if ( Iso != 3 ) {