=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/builtin/array.c,v retrieving revision 1.65 retrieving revision 1.67 diff -u -p -r1.65 -r1.67 --- OpenXM_contrib2/asir2000/builtin/array.c 2013/12/20 02:02:23 1.65 +++ OpenXM_contrib2/asir2000/builtin/array.c 2015/08/08 14:19:41 1.67 @@ -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.64 2013/11/05 02:55:02 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/builtin/array.c,v 1.66 2015/03/04 08:44:26 ohara Exp $ */ #include "ca.h" #include "base.h" @@ -231,6 +231,9 @@ int lu_gauss(int *ul,ent **u,int *ll,ent **l,int n,int for ( i = 0; i < n; i++ ) ll2[i] = 0; for ( i = 0; i < n; i++ ) { fprintf(stderr,"i=%d\n",i); +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif inv = invm(u[i][0].e,mod); for ( k = i+1; k < n; k++ ) if ( u[k][0].j == n-i ) { @@ -895,6 +898,10 @@ void Pvtol(NODE arg,LIST *rp) pointer *a; int len,i; + if ( OID(ARG0(arg)) == O_LIST ) { + *rp = ARG0(arg); + return; + } asir_assert(ARG0(arg),O_VECT,"vtol"); v = (VECT)ARG0(arg); len = v->len; a = BDY(v); for ( i = len - 1, n = 0; i >= 0; i-- ) { @@ -906,9 +913,18 @@ void Pvtol(NODE arg,LIST *rp) void Pltov(NODE arg,VECT *rp) { NODE n; - VECT v; + VECT v,v0; int len,i; + if ( OID(ARG0(arg)) == O_VECT ) { + v0 = (VECT)ARG0(arg); len = v0->len; + MKVECT(v,len); + for ( i = 0; i < len; i++ ) { + BDY(v)[i] = BDY(v0)[i]; + } + *rp = v; + return; + } asir_assert(ARG0(arg),O_LIST,"ltov"); n = (NODE)BDY((LIST)ARG0(arg)); len = length(n); @@ -1762,6 +1778,9 @@ int generic_gauss_elim_hensel(MAT mat,MAT *nmmat,Q *dn } } } +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } int generic_gauss_elim_hensel_dalg(MAT mat,DP *mb,MAT *nmmat,Q *dn,int **rindp,int **cindp) @@ -1947,6 +1966,9 @@ int generic_gauss_elim_hensel_dalg(MAT mat,DP *mb,MAT } } } +#if defined(__MINGW32__) || defined(__MINGW64__) + fflush(stderr); +#endif } int f4_nocheck;