version 1.53, 2006/06/12 11:52:10 |
version 1.56, 2007/11/23 05:43:23 |
|
|
* 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.52 2006/05/30 07:35:30 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/builtin/array.c,v 1.55 2006/10/26 10:49:16 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "base.h" |
#include "base.h" |
Line 391 void Pnewvect(NODE arg,VECT *rp) |
|
Line 391 void Pnewvect(NODE arg,VECT *rp) |
|
if ( argc(arg) == 2 ) { |
if ( argc(arg) == 2 ) { |
list = (LIST)ARG1(arg); |
list = (LIST)ARG1(arg); |
asir_assert(list,O_LIST,"newvect"); |
asir_assert(list,O_LIST,"newvect"); |
|
#if 0 |
for ( r = 0, tn = BDY(list); tn; r++, tn = NEXT(tn) ); |
for ( r = 0, tn = BDY(list); tn; r++, tn = NEXT(tn) ); |
if ( r > len ) { |
if ( r > len ) { |
*rp = vect; |
*rp = vect; |
return; |
return; |
} |
} |
|
#endif |
for ( i = 0, tn = BDY(list), vb = BDY(vect); tn; i++, tn = NEXT(tn) ) |
for ( i = 0, tn = BDY(list), vb = BDY(vect); tn; i++, tn = NEXT(tn) ) |
vb[i] = (pointer)BDY(tn); |
vb[i] = (pointer)BDY(tn); |
} |
} |
Line 1542 int generic_gauss_elim_hensel(MAT mat,MAT *nmmat,Q *dn |
|
Line 1544 int generic_gauss_elim_hensel(MAT mat,MAT *nmmat,Q *dn |
|
} |
} |
} |
} |
|
|
int generic_gauss_elim_hensel_dalg(MAT mat,MAT *nmmat,Q *dn,int **rindp,int **cindp) |
int generic_gauss_elim_hensel_dalg(MAT mat,DP *mb,MAT *nmmat,Q *dn,int **rindp,int **cindp) |
{ |
{ |
MAT bmat,xmat; |
MAT bmat,xmat; |
Q **a0,**a,**b,**x,**nm; |
Q **a0,**a,**b,**x,**nm; |
Line 1566 int generic_gauss_elim_hensel_dalg(MAT mat,MAT *nmmat, |
|
Line 1568 int generic_gauss_elim_hensel_dalg(MAT mat,MAT *nmmat, |
|
N wn; |
N wn; |
Q wq; |
Q wq; |
NumberField nf; |
NumberField nf; |
DP *mb; |
|
DP m; |
DP m; |
int col1; |
int col1; |
|
|
nf = get_numberfield(); |
|
mb = nf->mb; |
|
a0 = (Q **)mat->body; |
a0 = (Q **)mat->body; |
row = mat->row; col = mat->col; |
row = mat->row; col = mat->col; |
w = (int **)almat(row,col); |
w = (int **)almat(row,col); |
Line 1818 int intmtoratm(MAT mat,N md,MAT nm,Q *dn) |
|
Line 1817 int intmtoratm(MAT mat,N md,MAT nm,Q *dn) |
|
return 0; |
return 0; |
row = mat->row; col = mat->col; |
row = mat->row; col = mat->col; |
bshiftn(md,1,&t); |
bshiftn(md,1,&t); |
isqrt(t,&b); |
|
#if 0 |
|
isqrt(t,&s); |
isqrt(t,&s); |
bshiftn(s,64,&b); |
bshiftn(s,64,&b); |
if ( !b ) |
if ( !b ) |
b = ONEN; |
b = ONEN; |
#endif |
|
dn0 = ONE; |
dn0 = ONE; |
tmat = (N **)mat->body; |
tmat = (N **)mat->body; |
rmat = (Q **)nm->body; |
rmat = (Q **)nm->body; |