=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/io/cpexpr.c,v retrieving revision 1.5 retrieving revision 1.10 diff -u -p -r1.5 -r1.10 --- OpenXM_contrib2/asir2000/io/cpexpr.c 2000/11/08 08:02:51 1.5 +++ OpenXM_contrib2/asir2000/io/cpexpr.c 2001/03/15 05:52:12 1.10 @@ -44,14 +44,14 @@ * 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.4 2000/08/22 05:04:17 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/io/cpexpr.c,v 1.9 2001/03/13 01:10:27 noro Exp $ */ #include "ca.h" #include "parse.h" #include "al.h" #include "base.h" -extern int hex_output,fortran_output; +extern int hex_output,fortran_output,double_output,real_digit; #define PRINTHAT (fortran_output?PUTS("**"):PUTS("^")) @@ -124,8 +124,14 @@ BF a; { char *str; char *GENtostr(); + char *GENtostr0(); + void myoutbrute(); - str = GENtostr(a->body); + if ( double_output ) { + str = GENtostr0(a->body,myoutbrute); + } else { + str = GENtostr(a->body); + } total_length += strlen(str); free(str); } @@ -208,7 +214,10 @@ Num q; } break; case N_R: - total_length += 20; /* XXX */ + if ( double_output ) + total_length += 400+real_digit; /* XXX */ + else + total_length += 20+real_digit; /* XXX */ break; case N_A: PUTS("("); PRINTR(ALG,(R)BDY((Alg)q)); PUTS(")"); @@ -233,6 +242,9 @@ Num q; case N_GFPN: PRINTUP((UP)(((GFPN)q)->body)); break; + case N_GFS: + total_length += 13; /* XXX */ + break; default: break; } @@ -537,7 +549,7 @@ VL vl; BYTEARRAY array; { /* |xx xx ... xx| */ - return 1+3*array->len; + total_length += 1+3*array->len; } void PRINTERR(vl,e)