| 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() { |