[BACK]Return to pd.rr CVS log [TXT][DIR] Up to [local] / OpenXM / src / asir-contrib / testing / noro

Diff for /OpenXM/src/asir-contrib/testing/noro/Attic/pd.rr between version 1.8 and 1.9

version 1.8, 2010/06/09 08:28:57 version 1.9, 2010/06/10 04:55:50
Line 1 
Line 1 
 import("gr")$  import("gr")$
 module noro_pd$  module noro_pd$
   
 static GBCheck,F4,Procs,SatHomo$  static GBCheck,F4,Procs,SatHomo$
   
 localf init_procs, kill_procs, syca_dec, syc_dec, find_separating_ideal0$  localf init_procs, kill_procs, syca_dec, syc_dec, find_separating_ideal0$
Line 154  T00 = time();
Line 153  T00 = time();
                         Ok = find_separating_ideal1(C,G,IntQ,IntP,V,Ord|mod=Mod);                          Ok = find_separating_ideal1(C,G,IntQ,IntP,V,Ord|mod=Mod);
                 else if ( SepIdeal == 2 )                  else if ( SepIdeal == 2 )
                         Ok = find_separating_ideal2(C,G,IntQ,IntP,V,Ord|mod=Mod);                          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);                  G1 = append(Ok,G);
                 Gt1 = incremental_gb(G1,V,Ord|mod=Mod);                  Gt1 = incremental_gb(G1,V,Ord|mod=Mod);
                 T1 = time(); Tsep += T1[0]-T0[0]+T1[1]-T0[1]; Rsep += T1[3]-T0[3];                  T1 = time(); Tsep += T1[0]-T0[0]+T1[1]-T0[1]; Rsep += T1[3]-T0[3];
Line 232  T00 = time();
Line 229  T00 = time();
                         Ok = find_separating_ideal1(C,Gt,IntQt,IntPt,V,Ord|mod=Mod);                          Ok = find_separating_ideal1(C,Gt,IntQt,IntPt,V,Ord|mod=Mod);
                 else if ( SepIdeal == 2 )                  else if ( SepIdeal == 2 )
                         Ok = find_separating_ideal2(C,Gt,IntQt,IntPt,V,Ord|mod=Mod);                          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);                  G1 = append(Ok,Gt);
                 Gt = incremental_gb(G1,V,Ord|mod=Mod);                  Gt = incremental_gb(G1,V,Ord|mod=Mod);
                 T1 = time(); Tsep += T1[0]-T0[0]+T1[1]-T0[1]; Rsep += T1[3]-T0[3];                  T1 = time(); Tsep += T1[0]-T0[0]+T1[1]-T0[1]; Rsep += T1[3]-T0[3];
Line 315  def find_separating_ideal1(C,G,Q,Rad,V,Ord) {
Line 310  def find_separating_ideal1(C,G,Q,Rad,V,Ord) {
   
 def find_separating_ideal2(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(Mod=getopt(mod)) == -1 ) Mod = 0;
         if ( type(Complete=getopt(complete)) == -1 ) Complete = 0;  
         for ( T = C, S = []; T != []; T = cdr(T) )          for ( T = C, S = []; T != []; T = cdr(T) )
                 if ( gen_nf(car(T),Q,V,Ord,Mod) ) S = cons(car(T),S);                  if ( gen_nf(car(T),Q,V,Ord,Mod) ) S = cons(car(T),S);
         if ( S == [] )          if ( S == [] )
Line 343  def find_separating_ideal2(C,G,Q,Rad,V,Ord) {
Line 337  def find_separating_ideal2(C,G,Q,Rad,V,Ord) {
                 S = cons(Ui,S);                  S = cons(Ui,S);
         }          }
         print("");          print("");
 #if 1  
         S = qsort(S,comp_tdeg);          S = qsort(S,comp_tdeg);
 #else  
         S = reverse(S);  
 #endif  
         End = Len = length(S);          End = Len = length(S);
   
         Tmp = ttttt; TV = cons(Tmp,V); Ord1 = [[0,1],[Ord,length(V)]];          Tmp = ttttt; TV = cons(Tmp,V); Ord1 = [[0,1],[Ord,length(V)]];
Line 376  def find_separating_ideal2(C,G,Q,Rad,V,Ord) {
Line 366  def find_separating_ideal2(C,G,Q,Rad,V,Ord) {
         } else          } else
                 St = [S[0]];                  St = [S[0]];
         print("");          print("");
           for ( I = Prev; I < Len; I++ ) {
         if ( Complete ) {                  Int1 = incremental_gb(append(Int0,[Tmp*S[I]]),TV,Ord1
                 for ( I = Prev; I < Len; I++ ) {                          |gbblock=[[0,length(Int0)]],mod=Mod);
                         Int1 = incremental_gb(append(Int0,[Tmp*S[I]]),TV,Ord1                  Int = elimination(Int1,V);
                                 |gbblock=[[0,length(Int0)]],mod=Mod);                  if ( gen_gb_comp(Int,G,Mod) ) {
                         Int = elimination(Int1,V);                          print([I],2);
                         if ( gen_gb_comp(Int,G,Mod) ) {                          St = cons(S[I],St);
                                 print([I],2);                          Int0 = Int1;
                                 St = cons(S[I],St);  
                                 Int0 = Int1;  
                         }  
                 }                  }
         }          }
         Ok = reverse(St);          Ok = reverse(St);

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

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