=================================================================== RCS file: /home/cvs/OpenXM/src/asir-contrib/testing/noro/ndbf.rr,v retrieving revision 1.12 retrieving revision 1.16 diff -u -p -r1.12 -r1.16 --- OpenXM/src/asir-contrib/testing/noro/ndbf.rr 2010/06/16 08:32:10 1.12 +++ OpenXM/src/asir-contrib/testing/noro/ndbf.rr 2010/07/12 07:01:04 1.16 @@ -1,10 +1,11 @@ +/* $OpenXM: OpenXM/src/asir-contrib/testing/noro/ndbf.rr,v 1.15 2010/06/19 08:32:37 noro Exp $ */ /* requires 'primdec' */ #define TMP_H hhhhhhhh #define TMP_S ssssssss #define TMP_DS dssssssss -#define TMP_T t -#define TMP_DT dt +#define TMP_T tttttttt +#define TMP_DT dtttttttt #define TMP_Y1 yyyyyyyy1 #define TMP_DY1 dyyyyyyyy1 #define TMP_Y2 yyyyyyyy2 @@ -44,6 +45,8 @@ localf ideal_intersection$ def bfunction(F) { + if ( member(s,vars(F)) ) + error("ann : the variable 's' is reserved."); /* F -> F/Fcont */ F1 = ptozp(F); Fcont = sdiv(F,F1); F = F1; @@ -85,7 +88,7 @@ def bfunction(F) Cont = cont(CR); CR /= Cont; Cont *= dn(Fcont); Den *= nm(Fcont); Gcd = igcd(Den,Cont); - return [subst(B,s,-s-1),(Den/Gcd)*Ax,(Cont/Gcd)*CR]; + return [subst(B,s,-s-1),(Cont*CR)/(Den*Ax)]; } /* @@ -1260,6 +1263,9 @@ def replace_var(V,X,Y) def action_on_gfs(P,V,GFS) { + for ( T = V, DV = []; T != []; T = cdr(T) ) + DV = cons(strtov("d"+rtostr(car(T))),DV); + V = append(append(V,[s]),reverse(cons(ds,DV))); DP = dp_ptod(P,V); N = length(V)/2; for ( I = N-1, V0 = []; I >= 0; I-- ) @@ -1406,6 +1412,8 @@ def weyl_ideal_quotient(B,F,VDV) def bf_strat(F) { + if ( member(s,vars(F)) ) + error("ann : the variable 's' is reserved."); dp_ord(0); T0 = time(); if ( type(Heu=getopt(heuristic)) == -1 ) Heu = 0; @@ -1559,6 +1567,8 @@ def bf_strat_stage3(L) def bf_local(F,P) { + if ( member(s,vars(F)) ) + error("ann : the variable 's' is reserved."); /* F -> F/Fcont */ F1 = ptozp(F); Fcont = sdiv(F,F1); F = F1; if ( type(Heu=getopt(heuristic)) == -1 ) Heu = 0;