=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/builtin/gr.c,v retrieving revision 1.62 retrieving revision 1.65 diff -u -p -r1.62 -r1.65 --- OpenXM_contrib2/asir2000/builtin/gr.c 2006/12/04 01:40:51 1.62 +++ OpenXM_contrib2/asir2000/builtin/gr.c 2009/02/09 10:21:29 1.65 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/builtin/gr.c,v 1.61 2006/06/09 09:59:12 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/builtin/gr.c,v 1.64 2007/09/19 05:56:01 noro Exp $ */ #include "ca.h" #include "parse.h" @@ -95,6 +95,7 @@ int DP_NFStat = 0; LIST Dist = 0; int NoGCD = 0; int GenTrace = 0; +int GenSyz = 0; int OXCheck = -1; int NoSugar = 0; @@ -1746,6 +1747,7 @@ NODE gb(NODE f,int m,NODE subst) Max_coef = 0; prev = 1; doing_f4 = 0; + init_denomlist(); if ( m ) { psm = (DP *)MALLOC(pslen*sizeof(DP)); for ( i = 0; i < psn; i++ ) @@ -1806,6 +1808,7 @@ skip_nf: get_eg(&tpz0); prim_part(nf,0,&h); get_eg(&tpz1); add_eg(&eg_pz,&tpz0,&tpz1); + add_denomlist(BDY(h)->c); get_eg(&tnp0); if ( Demand && skip_nf_flag ) nh = newps_nosave(h,m,subst); @@ -2318,6 +2321,8 @@ void dp_set_flag(Obj name,Obj value) GenTrace = v; else if ( !strcmp(n,"OXCheck") ) OXCheck = v; + else if ( !strcmp(n,"GenSyz") ) + GenSyz = v; } void dp_make_flaglist(LIST *list) @@ -2344,6 +2349,7 @@ void dp_make_flaglist(LIST *list) STOQ(DP_NFStat,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"NFStat"); MKNODE(n1,name,n); n = n1; STOQ(OXCheck,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"OXCheck"); MKNODE(n1,name,n); n = n1; STOQ(GenTrace,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"GenTrace"); MKNODE(n1,name,n); n = n1; + STOQ(GenSyz,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"GenSyz"); MKNODE(n1,name,n); n = n1; STOQ(PtozpRA,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"PtozpRA"); MKNODE(n1,name,n); n = n1; STOQ(ShowMag,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"ShowMag"); MKNODE(n1,name,n); n = n1; STOQ(Top,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"Top"); MKNODE(n1,name,n); n = n1;