=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/io/spexpr.c,v retrieving revision 1.26 retrieving revision 1.29 diff -u -p -r1.26 -r1.29 --- OpenXM_contrib2/asir2000/io/spexpr.c 2004/02/04 07:42:07 1.26 +++ OpenXM_contrib2/asir2000/io/spexpr.c 2004/03/03 09:25:30 1.29 @@ -44,6 +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/spexpr.c,v 1.28 2004/02/13 05:48:36 saito Exp $ */ #include "ca.h" #include "al.h" @@ -107,6 +108,8 @@ int print_quote; #define PRINTUM printum #define PRINTSF printsf #define PRINTSYMBOL printsymbol +#define PRINTRANGE printrange +#define PRINTTB printtb #endif #ifdef SPRINT @@ -155,6 +158,8 @@ extern int print_quote; #define PRINTUM sprintum #define PRINTSF sprintsf #define PRINTSYMBOL sprintsymbol +#define PRINTRANGE sprintrange +#define PRINTTB sprinttb #endif void PRINTEXPR(); @@ -187,6 +192,8 @@ void PRINTLOP(); void PRINTQOP(); void PRINTSF(); void PRINTSYMBOL(); +void PRINTRANGE(); +void PRINTTB(); #ifdef FPRINT void output_init() { @@ -233,7 +240,11 @@ char *s; void myoutbrute(g) GEN g; { +# if PARI_VERSION_CODE > 131588 + brute(g, 'f', -1); +# else bruteall(g,'f',-1,1); +# endif } void sprintbf(a) @@ -298,7 +309,11 @@ Obj p; case O_QUOTE: PRINTQUOTE(vl,(QUOTE)p); break; case O_SYMBOL: - PRINTSYMBOL((Symbol)p); break; + PRINTSYMBOL((SYMBOL)p); break; + case O_RANGE: + PRINTRANGE(vl,(RANGE)p); break; + case O_TB: + PRINTTB(vl,(TB)p); break; default: break; } @@ -1176,7 +1191,25 @@ unsigned int i; } } -void PRINTSYMBOL(Symbol p) +void PRINTSYMBOL(SYMBOL sym) { - PUTS(p->name); + PUTS(sym->name); +} + +void PRINTRANGE(VL vl,RANGE p) +{ + PUTS("range("); + PRINTEXPR(vl,p->start); + PUTS(","); + PRINTEXPR(vl,p->end); + PUTS(")"); +} + +void PRINTTB(VL vl,TB p) +{ + int i; + + for ( i = 0; i < p->next; i++ ) { + PUTS(p->body[i]); + } }