[BACK]Return to array.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / builtin

Diff for /OpenXM_contrib2/asir2000/builtin/array.c between version 1.76 and 1.79

version 1.76, 2018/03/29 01:32:50 version 1.79, 2021/03/24 18:28:07
Line 45 
Line 45 
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.   * 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.78 2020/10/04 03:14:07 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "base.h"  #include "base.h"
Line 1180  void Pgeneric_gauss_elim(NODE arg,LIST *rp)
Line 1180  void Pgeneric_gauss_elim(NODE arg,LIST *rp)
   MKLIST(*rp,n0);    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)  void Pindep_rows_mod(NODE arg,VECT *rp)
 {  {
   MAT m,mat;    MAT m,mat;
Line 1525  RESET:
Line 1527  RESET:
   }    }
 }  }
   
   struct oEGT eg_chrem,eg_back,eg_fore;
   
 void lu_dec_cr(MAT mat,MAT lu,Q *dn,int **perm);  void lu_dec_cr(MAT mat,MAT lu,Q *dn,int **perm);
   
 /* XXX broken */  /* XXX broken */
Line 1872  int generic_gauss_elim_hensel_dalg(MAT mat,DP *mb,MAT 
Line 1876  int generic_gauss_elim_hensel_dalg(MAT mat,DP *mb,MAT 
       fprintf(asir_out,"LU decomposition.."); fflush(asir_out);        fprintf(asir_out,"LU decomposition.."); fflush(asir_out);
     }      }
     rank = find_lhs_and_lu_mod((unsigned int **)w,row,col,md,&rinfo,&cinfo);      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 ) {      if ( DP_Print ) {
       fprintf(asir_out,"done.\n"); fflush(asir_out);        fprintf(asir_out,"done.\n"); fflush(asir_out);
     }      }
Line 1956  int generic_gauss_elim_hensel_dalg(MAT mat,DP *mb,MAT 
Line 1966  int generic_gauss_elim_hensel_dalg(MAT mat,DP *mb,MAT 
             } else              } else
               b[i][j] = 0;                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);          get_eg(&tmp1);
         add_eg(&eg_mul,&tmp0,&tmp1);          add_eg(&eg_mul,&tmp0,&tmp1);
         /* q = q*md */          /* q = q*md */
Line 1996  int generic_gauss_elim_hensel_dalg(MAT mat,DP *mb,MAT 
Line 2013  int generic_gauss_elim_hensel_dalg(MAT mat,DP *mb,MAT 
                 fflush(asir_out);                  fflush(asir_out);
               }                }
               return rank;                return rank;
             }              } else
                 goto reset;
           } else {            } else {
   reset:
             period = period*3/2;              period = period*3/2;
             count = 0;              count = 0;
             nsize += period;              nsize += period;
Line 3205  int gauss_elim_geninv_mod_swap(unsigned int **mat,int 
Line 3224  int gauss_elim_geninv_mod_swap(unsigned int **mat,int 
       s[j] = t[col+index[j]];        s[j] = t[col+index[j]];
   return 0;    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)  void Pgeninv_sf_swap(NODE arg,LIST *rp)
 {  {

Legend:
Removed from v.1.76  
changed lines
  Added in v.1.79

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>