=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/builtin/array.c,v retrieving revision 1.11 retrieving revision 1.13 diff -u -p -r1.11 -r1.13 --- OpenXM_contrib2/asir2000/builtin/array.c 2000/12/05 06:59:15 1.11 +++ OpenXM_contrib2/asir2000/builtin/array.c 2001/06/07 05:14:48 1.13 @@ -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/array.c,v 1.10 2000/11/13 01:48:12 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/builtin/array.c,v 1.12 2001/06/07 04:54:38 noro Exp $ */ #include "ca.h" #include "base.h" @@ -808,7 +808,7 @@ int **rindp,**cindp; if ( DP_Print ) { fprintf(asir_out,"."); fflush(asir_out); } - md = lprime[ind]; + md = get_lprime(ind); get_eg(&tmp0); for ( i = 0; i < row; i++ ) for ( j = 0, bmi = bmat[i], wmi = wmat[i]; j < col; j++ ) @@ -895,7 +895,10 @@ RESET: add_eg(&eg_chrem_split,&tmp0,&tmp1); get_eg(&tmp0); - ret = intmtoratm(crmat,m1,*nm,dn); + if ( ind % 16 ) + ret = 0; + else + ret = intmtoratm(crmat,m1,*nm,dn); get_eg(&tmp1); add_eg(&eg_intrat,&tmp0,&tmp1); add_eg(&eg_intrat_split,&tmp0,&tmp1); @@ -953,7 +956,7 @@ int **rindp,**cindp; row = mat->row; col = mat->col; w = (int **)almat(row,col); for ( ind = 0; ; ind++ ) { - md = lprime[ind]; + md = get_lprime(ind); STOQ(md,mdq); for ( i = 0; i < row; i++ ) for ( j = 0, ai = a0[i], wi = w[i]; j < col; j++ ) @@ -1035,7 +1038,7 @@ int **rindp,**cindp; add_eg(&eg_mul,&tmp0,&tmp1); /* q = q*md */ mulq(q,mdq,&u); q = u; - if ( !(count % 2) && intmtoratm_q(xmat,NM(q),*nmmat,dn) ) { + if ( !(count % 16) && intmtoratm_q(xmat,NM(q),*nmmat,dn) ) { for ( j = k = l = 0; j < col; j++ ) if ( cinfo[j] ) rind[k++] = j;