=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/engine/nd.c,v retrieving revision 1.180 retrieving revision 1.183 diff -u -p -r1.180 -r1.183 --- OpenXM_contrib2/asir2000/engine/nd.c 2010/02/05 04:24:00 1.180 +++ OpenXM_contrib2/asir2000/engine/nd.c 2010/02/22 05:27:53 1.183 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.179 2010/02/03 07:23:06 noro Exp $ */ +/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.182 2010/02/22 02:20:43 noro Exp $ */ #include "nd.h" @@ -3137,12 +3137,13 @@ void nd_gr_trace(LIST f,LIST v,int trace,int homo,int ndv_homogenize((NDV)BDY(t),obpe,oadv,oepos,ompos); } while ( 1 ) { + tl1 = tl2 = tl3 = tl4 = 0; if ( Demand ) nd_demand = 1; + ret = ndv_setup(m,1,fd0,0,0); if ( nd_gentrace ) { MKLIST(l1,nd_tracelist); MKNODE(nd_alltracelist,l1,0); } - ret = ndv_setup(m,1,fd0,0,0); if ( ret ) cand = f4?nd_f4_trace(m,&perm):nd_gb_trace(m,ishomo || homo,&perm); if ( !ret || !cand ) { @@ -4123,7 +4124,7 @@ void weyl_mul_nm_nmv(int n,int mod,NM m0,NMV m1,NM *ta ndl_add(DL(tab[u]),d,DL(t)); if ( mod ) { c0 = CM(tab[u]); DMAR(c0,c,0,mod,c1); CM(t) = c1; - } if ( nd_vc ) + } else if ( nd_vc ) mulp(nd_vc,CP(tab[u]),(P)q,&CP(t)); else mulq(CQ(tab[u]),q,&CQ(t));