=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/io/pexpr_body.c,v retrieving revision 1.15 retrieving revision 1.20 diff -u -p -r1.15 -r1.20 --- OpenXM_contrib2/asir2000/io/pexpr_body.c 2015/08/04 06:20:45 1.15 +++ OpenXM_contrib2/asir2000/io/pexpr_body.c 2017/08/31 02:36:21 1.20 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM_contrib2/asir2000/io/pexpr_body.c,v 1.14 2013/12/20 02:02:24 noro Exp $ */ +/* $OpenXM: OpenXM_contrib2/asir2000/io/pexpr_body.c,v 1.19 2016/06/29 08:16:11 ohara Exp $ */ #define PRINTHAT (fortran_output?PUTS("**"):PUTS("^")) @@ -15,6 +15,7 @@ void PRINTIMAT(); /* IMAT */ void PRINTSTR(); void PRINTCOMP(); void PRINTDP(); +void PRINTDPM(); void PRINTUI(); void PRINTGF2MAT(); void PRINTGFMMAT(); @@ -72,6 +73,8 @@ Obj p; PRINTCOMP(vl,(COMP)p); break; case O_DP: PRINTDP(vl,(DP)p); break; + case O_DPM: + PRINTDPM(vl,(DPM)p); break; case O_USINT: PRINTUI(vl,(USINT)p); break; case O_GF2MAT: @@ -689,7 +692,7 @@ Num q; int i,expo; m = (unsigned int *)&BDY((Real)q); -#if defined(__i386__) || defined(MIPSEL) || defined(VISUAL) || defined(__alpha) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__x86_64) +#if defined(__i386__) || defined(MIPSEL) || defined(VISUAL) || defined(__MINGW32__) || defined(__alpha) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__x86_64) || defined(__ARM_ARCH) || defined(ANDROID) u = m[1]; l = m[0]; #else u = m[0]; l = m[1]; @@ -1009,6 +1012,26 @@ DP d; TAIL PRINTF(OUT,"%d,",dl->d[i]); } TAIL PRINTF(OUT,"%d",dl->d[i]); + PUTS(">>"); + if ( NEXT(m) ) + PUTS("+"); + } +} + +void PRINTDPM(vl,d) +VL vl; +DPM d; +{ + int n,i; + DMM m; + DL dl; + + for ( n = d->nv, m = BDY(d); m; m = NEXT(m) ) { + PUTS("("); PRINTEXPR(vl,(pointer)m->c); PUTS(")*<<"); + for ( i = 0, dl = m->dl; i < n-1; i++ ) { + TAIL PRINTF(OUT,"%d,",dl->d[i]); + } + TAIL PRINTF(OUT,"%d:%d",dl->d[i],m->pos); PUTS(">>"); if ( NEXT(m) ) PUTS("+");