version 1.109, 2004/09/21 04:50:15 |
version 1.111, 2004/09/21 07:19:01 |
|
|
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.108 2004/09/21 02:43:11 noro Exp $ */ |
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.110 2004/09/21 05:23:14 noro Exp $ */ |
|
|
#include "nd.h" |
#include "nd.h" |
|
|
Line 2579 void removecont_array(Q *c,int n) |
|
Line 2579 void removecont_array(Q *c,int n) |
|
{ |
{ |
struct oVECT v; |
struct oVECT v; |
Q d0,d1,a,u,u1,gcd; |
Q d0,d1,a,u,u1,gcd; |
int i; |
int i,j; |
N qn,rn,gn; |
N qn,rn,gn; |
Q *q,*r; |
Q *q,*r; |
|
|
Line 3857 int ndv_reduce_vect_q(Q *svect,int col,IndArray *imat, |
|
Line 3857 int ndv_reduce_vect_q(Q *svect,int col,IndArray *imat, |
|
len = LEN(redv); mr = BDY(redv); |
len = LEN(redv); mr = BDY(redv); |
igcd_cofactor(svect[k],CQ(mr),&gcd,&cs,&cr); |
igcd_cofactor(svect[k],CQ(mr),&gcd,&cs,&cr); |
chsgnq(cs,&mcs); |
chsgnq(cs,&mcs); |
for ( j = 0; j < col; j++ ) { |
if ( !UNIQ(cr) ) { |
mulq(svect[j],cr,&c1); svect[j] = c1; |
for ( j = 0; j < col; j++ ) { |
|
mulq(svect[j],cr,&c1); svect[j] = c1; |
|
} |
} |
} |
svect[k] = 0; prev = k; |
svect[k] = 0; prev = k; |
switch ( ivect->width ) { |
switch ( ivect->width ) { |