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

Diff for /OpenXM_contrib2/asir2018/engine/nd.c between version 1.8 and 1.9

version 1.8, 2018/10/01 07:48:01 version 1.9, 2018/10/02 09:06:15
Line 1 
Line 1 
 /* $OpenXM: OpenXM_contrib2/asir2018/engine/nd.c,v 1.7 2018/10/01 05:49:06 noro Exp $ */  /* $OpenXM: OpenXM_contrib2/asir2018/engine/nd.c,v 1.8 2018/10/01 07:48:01 noro Exp $ */
   
 #include "nd.h"  #include "nd.h"
   
Line 6042  int ndv_reduce_vect_q(Z *svect,int trace,int col,IndAr
Line 6042  int ndv_reduce_vect_q(Z *svect,int trace,int col,IndAr
     return maxrs;      return maxrs;
 }  }
 #else  #else
   
 /* direct mpz version */  /* direct mpz version */
 int ndv_reduce_vect_q(Z *svect0,int trace,int col,IndArray *imat,NM_ind_pair *rp0,int nred)  int ndv_reduce_vect_q(Z *svect0,int trace,int col,IndArray *imat,NM_ind_pair *rp0,int nred)
 {  {
Line 6084  int ndv_reduce_vect_q(Z *svect0,int trace,int col,IndA
Line 6085  int ndv_reduce_vect_q(Z *svect0,int trace,int col,IndA
             mpz_div(cs,svect[k],gcd);              mpz_div(cs,svect[k],gcd);
             mpz_div(cr,BDY(CZ(mr)),gcd);              mpz_div(cr,BDY(CZ(mr)),gcd);
             mpz_neg(cs,cs);              mpz_neg(cs,cs);
             for ( j = 0; j < col; j++ )              if ( MUNIMPZ(cr) )
               mpz_mul(svect[j],svect[j],cr);                for ( j = 0; j < col; j++ ) mpz_neg(svect[j],svect[j]);
               else if ( !UNIMPZ(cr) )
                 for ( j = 0; j < col; j++ ) {
                   if ( mpz_sgn(svect[j]) ) mpz_mul(svect[j],svect[j],cr);
                 }
             mpz_set_ui(svect[k],0);              mpz_set_ui(svect[k],0);
             prev = k;              prev = k;
             switch ( ivect->width ) {              switch ( ivect->width ) {

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

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