=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/io/cpexpr.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -p -r1.24 -r1.25 --- OpenXM_contrib2/asir2000/io/cpexpr.c 2004/12/10 07:36:35 1.24 +++ OpenXM_contrib2/asir2000/io/cpexpr.c 2005/11/16 23:42:54 1.25 @@ -44,7 +44,7 @@ * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. - * $OpenXM: OpenXM_contrib2/asir2000/io/cpexpr.c,v 1.23 2004/07/13 07:59:54 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/io/cpexpr.c,v 1.24 2004/12/10 07:36:35 noro Exp $ */ #include "ca.h" #include "parse.h" @@ -90,6 +90,7 @@ static int total_length; #define PRINTRANGE length_RANGE #define PRINTTB length_TB #define PRINTDPV length_DPV +#define PRINTNBP length_nbp #define PRINTERR length_err #define PRINTLF length_lf #define PRINTLOP length_lop @@ -477,6 +478,28 @@ void PRINTUM(UM n) } } PUTS(")"); + } +} + +void PRINTNBP(VL vl,NBP p) +{ + NODE t; + NBM m; + int d,i; + unsigned int *b; + if ( !p ) PUTS("0"); + else { + for ( t = BDY(p); t; t = NEXT(t) ) { + m = (NBM)BDY(t); + PRINTEXPR(vl,(Obj)m->c); + d = m->d; + b = m->b; + for ( i = 0; i < d; i++ ) { + if ( NBM_GET(b,i) ) PUTS("x"); + else PUTS("y"); + } + if ( NEXT(t) ) PUTS("+"); + } } }