=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/builtin/array.c,v retrieving revision 1.35 retrieving revision 1.37 diff -u -p -r1.35 -r1.37 --- OpenXM_contrib2/asir2000/builtin/array.c 2004/06/30 20:01:36 1.35 +++ OpenXM_contrib2/asir2000/builtin/array.c 2004/09/15 01:43:32 1.37 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/builtin/array.c,v 1.34 2003/11/27 02:20:51 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/builtin/array.c,v 1.36 2004/09/14 07:23:34 noro Exp $ */ #include "ca.h" #include "base.h" @@ -87,6 +87,7 @@ void Pmat_swap_col_destructive(); void Pvect(); void Pmat(); void Pmatc(); +void Pnd_det(); struct ftab array_tab[] = { {"solve_by_lu_gfmmat",Psolve_by_lu_gfmmat,4}, @@ -111,6 +112,7 @@ struct ftab array_tab[] = { {"ltov",Pltov,1}, {"size",Psize,1}, {"det",Pdet,-2}, + {"nd_det",Pnd_det,-2}, {"invmat",Pinvmat,-2}, {"leqm",Pleqm,2}, {"leqm1",Pleqm1,2}, @@ -2913,4 +2915,12 @@ void printimat(int **mat,int row,int col) } printf("\n"); } +} + +void Pnd_det(NODE arg,P *rp) +{ + if ( argc(arg) == 1 ) + nd_det(0,ARG0(arg),rp); + else + nd_det(QTOS((Q)ARG1(arg)),ARG0(arg),rp); }