version 1.34, 2001/09/17 10:32:40 |
version 1.35, 2001/09/18 00:56:05 |
|
|
* 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/gr.c,v 1.33 2001/09/17 08:37:30 noro Exp $ |
* $OpenXM$ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "parse.h" |
#include "parse.h" |
|
|
} |
} |
if ( fd0 ) NEXT(fd) = 0; |
if ( fd0 ) NEXT(fd) = 0; |
setup_arrays(fd0,m,&s); |
setup_arrays(fd0,m,&s); |
|
init_stat(); |
x = gb_f4_mod(s,m); |
x = gb_f4_mod(s,m); |
if ( !homogen ) { |
if ( !homogen ) { |
reduceall_mod(x,m,&xx); x = xx; |
reduceall_mod(x,m,&xx); x = xx; |
|
|
} |
} |
if ( r0 ) NEXT(r) = 0; |
if ( r0 ) NEXT(r) = 0; |
MKLIST(*rp,r0); |
MKLIST(*rp,r0); |
|
print_stat(); |
} |
} |
|
|
NODE gb_f4(f) |
NODE gb_f4(f) |
|
|
int **spmat; |
int **spmat; |
CDP *redmat; |
CDP *redmat; |
int *colstat,*w,*w1; |
int *colstat,*w,*w1; |
int rank,nred,nsp,nonzero,spcol; |
int rank,nred,nsp,nsp0,nonzero,spcol; |
int *indred,*isred; |
int *indred,*isred; |
CDP ri; |
CDP ri; |
int pscalen; |
int pscalen; |
|
|
s0 = symb_merge(s0,dp_dllist(sp),nv); |
s0 = symb_merge(s0,dp_dllist(sp),nv); |
} |
} |
} |
} |
|
if ( DP_Print ) |
|
fprintf(asir_out,"initial spmat : %d x %d ",length(blist),length(s0)); |
/* s0 : all the terms appeared in symbolic reduction */ |
/* s0 : all the terms appeared in symbolic reduction */ |
for ( s = s0, nred = 0; s; s = NEXT(s) ) { |
for ( s = s0, nred = 0; s; s = NEXT(s) ) { |
for ( r = gall; r; r = NEXT(r) ) |
for ( r = gall; r; r = NEXT(r) ) |
|
|
nred++; |
nred++; |
} |
} |
} |
} |
|
if ( DP_Print ) |
|
fprintf(asir_out,"number of reducers : %d\n",nred); |
|
|
/* the first nred polys in blist are reducers */ |
/* the first nred polys in blist are reducers */ |
/* row = the number of all the polys */ |
/* row = the number of all the polys */ |
|
|
} |
} |
} |
} |
/* update nsp */ |
/* update nsp */ |
|
nsp0 = nsp; |
nsp = i; |
nsp = i; |
|
|
/* XXX free redmat explicitly */ |
/* XXX free redmat explicitly */ |
|
|
fprintf(asir_out,"\n"); |
fprintf(asir_out,"\n"); |
} |
} |
|
|
|
NZR += rank; |
|
ZR += nsp0-rank; |
|
|
if ( !rank ) |
if ( !rank ) |
continue; |
continue; |
|
|
Line 2159 void init_stat() { |
|
Line 2169 void init_stat() { |
|
init_eg(&eg_nf); init_eg(&eg_nfm); init_eg(&eg_znfm); |
init_eg(&eg_nf); init_eg(&eg_nfm); init_eg(&eg_znfm); |
init_eg(&eg_pz); init_eg(&eg_np); |
init_eg(&eg_pz); init_eg(&eg_np); |
init_eg(&eg_ra); init_eg(&eg_mc); init_eg(&eg_gc); |
init_eg(&eg_ra); init_eg(&eg_mc); init_eg(&eg_gc); |
ZR = NZR = TP = NBP = NFP = NDP = 0; |
ZR = NZR = TP = NMP = NBP = NFP = NDP = 0; |
} |
} |
|
|
void print_stat() { |
void print_stat() { |