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

Diff for /OpenXM_contrib2/asir2000/engine/nd.c between version 1.215 and 1.216

version 1.215, 2013/12/20 02:02:24 version 1.216, 2013/12/20 04:35:34
Line 1 
Line 1 
 /* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.214 2013/09/27 07:00:45 noro Exp $ */  /* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.215 2013/12/20 02:02:24 noro Exp $ */
   
 #include "nd.h"  #include "nd.h"
   
Line 6978  int nd_gauss_elim_gz(GZ **mat0,int *sugar,int row,int 
Line 6978  int nd_gauss_elim_gz(GZ **mat0,int *sugar,int row,int 
 {  {
     int i,j,t,c,rank,inv;      int i,j,t,c,rank,inv;
     int *ci,*ri;      int *ci,*ri;
     GZ *dn;      GZ dn;
     MAT m,nm;      MAT m,nm;
   
     NEWMAT(m); m->row = row; m->col = col; m->body = (pointer **)mat0;      NEWMAT(m); m->row = row; m->col = col; m->body = (pointer **)mat0;
         dn = (GZ *)MALLOC(row*sizeof(GZ));      rank = gz_generic_gauss_elim(m,&nm,&dn,&ri,&ci);
     rank = gz_generic_gauss_elim2(m,&nm,dn,&ri,&ci);  
     for ( i = 0; i < row; i++ )      for ( i = 0; i < row; i++ )
         for ( j = 0; j < col; j++ )          for ( j = 0; j < col; j++ )
             mat0[i][j] = 0;              mat0[i][j] = 0;
     c = col-rank;      c = col-rank;
     for ( i = 0; i < rank; i++ ) {      for ( i = 0; i < rank; i++ ) {
         mat0[i][ri[i]] = dn[i];          mat0[i][ri[i]] = dn;
         for ( j = 0; j < c; j++ )          for ( j = 0; j < c; j++ )
             mat0[i][ci[j]] = (GZ)BDY(nm)[i][j];              mat0[i][ci[j]] = (GZ)BDY(nm)[i][j];
     }      }

Legend:
Removed from v.1.215  
changed lines
  Added in v.1.216

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