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

Diff for /OpenXM/src/asir-contrib/testing/noro/Attic/new_pd.rr between version 1.1 and 1.2

version 1.1, 2011/01/16 08:46:10 version 1.2, 2011/01/19 00:51:38
Line 284  T0 = time();
Line 284  T0 = time();
                 if ( First ) {                  if ( First ) {
                         PtR = prime_dec(G,V|indep=1,lexdec=Lexdec,mod=Mod,radical=1);                          PtR = prime_dec(G,V|indep=1,lexdec=Lexdec,mod=Mod,radical=1);
                         Pt = PtR[0]; IntPt = PtR[1]; Rad = IntPt;                          Pt = PtR[0]; IntPt = PtR[1]; Rad = IntPt;
                           if ( gen_gb_comp(G,Rad,Mod) ) {
                                   /* Gt is radical and Gt = cap Pt */
                                   for ( T = Pt, Qt = []; T != []; T = cdr(T) )
                                           Qt = cons([car(T)[0],car(T)[0],car(T)[1]],Qt);
                                   return [reverse(Qt)];
                           }
                 } else                  } else
                         Pt = colon_prime_dec(G,IntQ,V|lexdec=Lexdec,mod=Mod,para=Para);                          Pt = colon_prime_dec(G,IntQ,V|lexdec=Lexdec,mod=Mod,para=Para);
 ACCUM_TIME(Tpd,RTpd)  ACCUM_TIME(Tpd,RTpd)
Line 1458  def elim_gb(G,V,PV,Mod,Ord)
Line 1464  def elim_gb(G,V,PV,Mod,Ord)
                 return G1;                  return G1;
         } else          } else
 #if 1  #if 1
 #if 1  #if 0
                 G = dp_gr_main(G,V,0,0,Ord);                  G = dp_gr_main(G,V,0,0,Ord);
 #else  #else
                 G = nd_gr_trace(G,V,1,1,Ord);                  G = nd_gr_trace(G,V,1,1,Ord);
Line 1656  def ideal_list_intersection(L,V,Ord)
Line 1662  def ideal_list_intersection(L,V,Ord)
         N = length(L);          N = length(L);
         if ( N == 0 ) return [1];          if ( N == 0 ) return [1];
         if ( N == 1 ) return fast_gb(L[0],V,Mod,Ord);          if ( N == 1 ) return fast_gb(L[0],V,Mod,Ord);
         N2 = idiv(N,2);          if ( N > 2 && (Len = length(Para)) >= 2 ) {
         for ( L1 = [], I = 0; I < N2; I++ ) L1 = cons(L[I],L1);                  Div = N >= 2*Len ? Len : 2;
         for ( L2 = []; I < N; I++ ) L2 = cons(L[I],L2);                  QR = iqr(N,Div); Q = QR[0]; R = QR[1];
         if ( length(Para) >= 2 ) {                  T = []; K = 0;
                 T1 = ["noro_pd.call_ideal_list_intersection",L1,V,Mod,Ord];                  for ( I = 0; I < Div; I++ ) {
                 T2 = ["noro_pd.call_ideal_list_intersection",L2,V,Mod,Ord];                          LenI = I<R? Q+1 : Q;
                 R = para_exec(Para,[T1,T2]);                          if ( LenI ) {
                 I1 = R[0]; I2 = R[1];                                  for ( LI = [], J = 0; J < LenI; J++ ) LI = cons(L[K++],LI);
                                   TI = ["noro_pd.call_ideal_list_intersection",LI,V,Mod,Ord];
                                   T = cons(TI,T);
                           }
                   }
                   Tint = para_exec(Para,T);
                   return ideal_list_intersection(Tint,V,Ord|mod=Mod,para=Para);
         } else {          } else {
                   N2 = idiv(N,2);
                   for ( L1 = [], I = 0; I < N2; I++ ) L1 = cons(L[I],L1);
                   for ( L2 = []; I < N; I++ ) L2 = cons(L[I],L2);
                 I1 = ideal_list_intersection(L1,V,Ord|mod=Mod);                  I1 = ideal_list_intersection(L1,V,Ord|mod=Mod);
                 I2 = ideal_list_intersection(L2,V,Ord|mod=Mod);                  I2 = ideal_list_intersection(L2,V,Ord|mod=Mod);
                   return ideal_intersection(I1,I2,V,Ord|mod=Mod,
                           gbblock=[[0,length(I1)],[length(I1),length(I2)]]);
         }          }
         return ideal_intersection(I1,I2,V,Ord|mod=Mod,  
                 gbblock=[[0,length(I1)],[length(I1),length(I2)]]);  
 }  }
   
 def call_ideal_list_intersection(L,V,Mod,Ord)  def call_ideal_list_intersection(L,V,Mod,Ord)

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

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