version 1.29, 2003/06/09 16:18:09 |
version 1.31, 2003/07/01 08:12:37 |
|
|
* 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.28 2003/05/29 16:44:59 saito Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/builtin/array.c,v 1.30 2003/06/10 16:54:13 saito Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "base.h" |
#include "base.h" |
Line 495 void Pmat(NODE arg, MAT *rp) |
|
Line 495 void Pmat(NODE arg, MAT *rp) |
|
} |
} |
|
|
for (row = 0, tn = arg; tn; tn = NEXT(tn), row++); |
for (row = 0, tn = arg; tn; tn = NEXT(tn), row++); |
|
if ( row == 1 ) { |
|
if ( OID(ARG0(arg)) == O_MAT ) { |
|
*rp=ARG0(arg); |
|
return; |
|
} else if ( !(OID(ARG0(arg)) == O_LIST || OID(ARG0(arg)) == O_VECT)) { |
|
error("mat : invalid argument"); |
|
} |
|
} |
if ( OID(ARG0(arg)) == O_VECT ) { |
if ( OID(ARG0(arg)) == O_VECT ) { |
v = ARG0(arg); |
v = ARG0(arg); |
col = v->len; |
col = v->len; |
} else if ( OID(ARG0(arg)) == O_LIST ) { |
} else if ( OID(ARG0(arg)) == O_LIST ) { |
for (col = 0, tn = BDY((LIST)ARG0(arg)); tn ; tn = NEXT(tn), col++); |
for (col = 0, tn = BDY((LIST)ARG0(arg)); tn ; tn = NEXT(tn), col++); |
|
} else { |
|
error("mat : invalid argument"); |
} |
} |
|
|
MKMAT(m,row,col); |
MKMAT(m,row,col); |
Line 536 void Pmatc(NODE arg, MAT *rp) |
|
Line 546 void Pmatc(NODE arg, MAT *rp) |
|
} |
} |
|
|
for (col = 0, tn = arg; tn; tn = NEXT(tn), col++); |
for (col = 0, tn = arg; tn; tn = NEXT(tn), col++); |
|
if ( col == 1 ) { |
|
if ( OID(ARG0(arg)) == O_MAT ) { |
|
*rp=ARG0(arg); |
|
return; |
|
} else if ( !(OID(ARG0(arg)) == O_LIST || OID(ARG0(arg)) == O_VECT)) { |
|
error("matc : invalid argument"); |
|
} |
|
} |
if ( OID(ARG0(arg)) == O_VECT ) { |
if ( OID(ARG0(arg)) == O_VECT ) { |
v = ARG0(arg); |
v = ARG0(arg); |
row = v->len; |
row = v->len; |
} else if ( OID(ARG0(arg)) == O_LIST ) { |
} else if ( OID(ARG0(arg)) == O_LIST ) { |
for (row = 0, tn = BDY((LIST)ARG0(arg)); tn ; tn = NEXT(tn), row++); |
for (row = 0, tn = BDY((LIST)ARG0(arg)); tn ; tn = NEXT(tn), row++); |
|
} else { |
|
error("matc : invalid argument"); |
} |
} |
|
|
MKMAT(m,row,col); |
MKMAT(m,row,col); |
Line 933 int gauss_elim_mod(int **mat,int row,int col,int md) |
|
Line 953 int gauss_elim_mod(int **mat,int row,int col,int md) |
|
} |
} |
|
|
struct oEGT eg_mod,eg_elim,eg_elim1,eg_elim2,eg_chrem,eg_gschk,eg_intrat,eg_symb; |
struct oEGT eg_mod,eg_elim,eg_elim1,eg_elim2,eg_chrem,eg_gschk,eg_intrat,eg_symb; |
|
struct oEGT eg_conv; |
|
|
int generic_gauss_elim(MAT mat,MAT *nm,Q *dn,int **rindp,int **cindp) |
int generic_gauss_elim(MAT mat,MAT *nm,Q *dn,int **rindp,int **cindp) |
{ |
{ |