version 1.220, 2015/01/13 00:54:54 |
version 1.222, 2015/08/08 14:19:41 |
|
|
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.219 2014/08/19 06:35:01 noro Exp $ */ |
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.221 2015/03/15 19:31:30 ohara Exp $ */ |
|
|
#include "nd.h" |
#include "nd.h" |
|
|
Line 88 NDV ndvgztondv(NDV p); |
|
Line 88 NDV ndvgztondv(NDV p); |
|
ND ndtondgz(ND p); |
ND ndtondgz(ND p); |
ND ndgztond(ND p); |
ND ndgztond(ND p); |
|
|
|
void Pdp_set_weight(NODE,VECT *); |
|
void Pox_cmo_rpc(NODE,Obj *); |
|
|
extern int Denominator,DP_Multiple; |
extern int Denominator,DP_Multiple; |
|
|
#define BLEN (8*sizeof(unsigned long)) |
#define BLEN (8*sizeof(unsigned long)) |
Line 6652 init_eg(&eg_search); |
|
Line 6655 init_eg(&eg_search); |
|
|
|
/* construction of index arrays */ |
/* construction of index arrays */ |
fprintf(stderr,"%dx%d,",nsp+nred,col); |
fprintf(stderr,"%dx%d,",nsp+nred,col); |
|
#if defined(__MINGW32__) || defined(__MINGW64__) |
|
fflush(stderr); |
|
#endif |
rvect = (NM_ind_pair *)ALLOCA(nred*sizeof(NM_ind_pair)); |
rvect = (NM_ind_pair *)ALLOCA(nred*sizeof(NM_ind_pair)); |
s0hash = (int *)ALLOCA(col*sizeof(int)); |
s0hash = (int *)ALLOCA(col*sizeof(int)); |
for ( i = 0, s = s0vect; i < col; i++, s += nd_wpd ) |
for ( i = 0, s = s0vect; i < col; i++, s += nd_wpd ) |
Line 7638 void nd_det(int mod,MAT f,P *rp) |
|
Line 7644 void nd_det(int mod,MAT f,P *rp) |
|
if ( mod ) ndv_mod(mod,d); |
if ( mod ) ndv_mod(mod,d); |
chsgnq(ONE,&mone); |
chsgnq(ONE,&mone); |
for ( j = 0, sgn = 1; j < n; j++ ) { |
for ( j = 0, sgn = 1; j < n; j++ ) { |
if ( DP_Print ) fprintf(stderr,".",j); |
if ( DP_Print ) { |
|
fprintf(stderr,".",j); |
|
#if defined(__MINGW32__) || defined(__MINGW64__) |
|
fflush(stderr); |
|
#endif |
|
} |
for ( i = j; i < n && !dm[i][j]; i++ ); |
for ( i = j; i < n && !dm[i][j]; i++ ); |
if ( i == n ) { |
if ( i == n ) { |
*rp = 0; |
*rp = 0; |
Line 7697 void nd_det(int mod,MAT f,P *rp) |
|
Line 7708 void nd_det(int mod,MAT f,P *rp) |
|
} |
} |
d = mjj; |
d = mjj; |
} |
} |
if ( DP_Print ) fprintf(stderr,"\n",k); |
if ( DP_Print ) { |
|
fprintf(stderr,"\n",k); |
|
#if defined(__MINGW32__) || defined(__MINGW64__) |
|
fflush(stderr); |
|
#endif |
|
} |
if ( sgn < 0 ) |
if ( sgn < 0 ) |
if ( mod ) |
if ( mod ) |
ndv_mul_c(mod,d,mod-1); |
ndv_mul_c(mod,d,mod-1); |