=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/builtin/array.c,v retrieving revision 1.76 retrieving revision 1.78 diff -u -p -r1.76 -r1.78 --- OpenXM_contrib2/asir2000/builtin/array.c 2018/03/29 01:32:50 1.76 +++ OpenXM_contrib2/asir2000/builtin/array.c 2020/10/04 03:14:07 1.78 @@ -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.75 2017/09/17 02:34:02 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/builtin/array.c,v 1.77 2019/03/03 05:21:16 noro Exp $ */ #include "ca.h" #include "base.h" @@ -1180,6 +1180,8 @@ void Pgeneric_gauss_elim(NODE arg,LIST *rp) MKLIST(*rp,n0); } +int indep_rows_mod(int **mat0,int row,int col,int md,int *rowstat); + void Pindep_rows_mod(NODE arg,VECT *rp) { MAT m,mat; @@ -1872,6 +1874,12 @@ int generic_gauss_elim_hensel_dalg(MAT mat,DP *mb,MAT fprintf(asir_out,"LU decomposition.."); fflush(asir_out); } rank = find_lhs_and_lu_mod((unsigned int **)w,row,col,md,&rinfo,&cinfo); + printf("\n"); + for ( i = 0; i < row; i++ ) { + for ( j = 0; j < col; j++ ) + printf("%d ",w[i][j]); + printf("\n"); + } if ( DP_Print ) { fprintf(asir_out,"done.\n"); fflush(asir_out); } @@ -1956,6 +1964,13 @@ int generic_gauss_elim_hensel_dalg(MAT mat,DP *mb,MAT } else b[i][j] = 0; } + printf("\n"); + for ( i = 0; i < rank; i++ ) { + for ( j = 0; j < ri; j++ ) { + printexpr(CO,b[i][j]); printf(" "); + } + printf("\n"); + } get_eg(&tmp1); add_eg(&eg_mul,&tmp0,&tmp1); /* q = q*md */ @@ -1996,8 +2011,10 @@ int generic_gauss_elim_hensel_dalg(MAT mat,DP *mb,MAT fflush(asir_out); } return rank; - } + } else + goto reset; } else { +reset: period = period*3/2; count = 0; nsize += period; @@ -3205,6 +3222,8 @@ int gauss_elim_geninv_mod_swap(unsigned int **mat,int s[j] = t[col+index[j]]; return 0; } + +int gauss_elim_geninv_sf_swap(int **mat,int row,int col,int ***invmatp,int **indexp); void Pgeninv_sf_swap(NODE arg,LIST *rp) {