version 1.16, 2001/09/10 02:45:25 |
version 1.17, 2001/09/10 05:55:13 |
|
|
* 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/array.c,v 1.15 2001/09/07 08:54:57 noro Exp $ |
* $OpenXM$ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "base.h" |
#include "base.h" |
Line 67 void mat_to_gfmmat(MAT,unsigned int,GFMMAT *); |
|
Line 67 void mat_to_gfmmat(MAT,unsigned int,GFMMAT *); |
|
|
|
int generic_gauss_elim_mod(int **,int,int,int,int *); |
int generic_gauss_elim_mod(int **,int,int,int,int *); |
int generic_gauss_elim(MAT ,MAT *,Q *,int **,int **); |
int generic_gauss_elim(MAT ,MAT *,Q *,int **,int **); |
|
void reduce_sp_by_red_mod_compress (int *,CDP *,int *,int,int,int); |
|
|
int gauss_elim_mod(int **,int,int,int); |
int gauss_elim_mod(int **,int,int,int); |
int gauss_elim_mod1(int **,int,int,int); |
int gauss_elim_mod1(int **,int,int,int); |
|
|
if ( zzz = *s ) { DMAR(zzz,hc,*tj,md,*tj) } tj++; s++; |
if ( zzz = *s ) { DMAR(zzz,hc,*tj,md,*tj) } tj++; s++; |
} |
} |
} |
} |
|
} |
|
} |
|
|
|
/* |
|
rlist : reducers list |
|
ht(BDY(rlist)) < ht(BDY(NEXT(rlist)) < ... w.r.t. the term order |
|
*/ |
|
|
|
void reduce_reducers_mod_compress(rlist,nred,at,col,md,redmatp,indredp) |
|
NODE rlist; |
|
int nred; |
|
DL *at; |
|
int col,md; |
|
CDP **redmatp; |
|
int **indredp; |
|
{ |
|
CDP *redmat; |
|
CDP t; |
|
int *indred,*w; |
|
int i,k; |
|
NODE r; |
|
|
|
*redmatp = redmat = (CDP *)CALLOC(nred,sizeof(CDP)); |
|
*indredp = indred = (int *)CALLOC(nred,sizeof(int)); |
|
w = (int *)CALLOC(col,sizeof(int)); |
|
|
|
_dpmod_to_vect_compress(BDY(rlist),at,&redmat[0]); |
|
indred[0] = redmat[0]->body[0].index; |
|
|
|
for ( i = 1, r = NEXT(rlist); i < nred; i++, r = NEXT(r) ) { |
|
bzero(w,col*sizeof(int)); |
|
_dpmod_to_vect(BDY(r),at,w); |
|
reduce_sp_by_red_mod_compress(w,redmat,indred,i,col,md); |
|
compress_vect(w,col,&redmat[i]); |
|
indred[i] = redmat[i]->body[0].index; |
} |
} |
} |
} |
|
|