=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2018/io/pexpr.c,v retrieving revision 1.1 retrieving revision 1.3 diff -u -p -r1.1 -r1.3 --- OpenXM_contrib2/asir2018/io/pexpr.c 2018/09/19 05:45:08 1.1 +++ OpenXM_contrib2/asir2018/io/pexpr.c 2019/10/17 03:03:12 1.3 @@ -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: OpenXM_contrib2/asir2018/io/pexpr.c,v 1.2 2018/10/01 05:49:06 noro Exp $ */ #include "ca.h" #include "al.h" @@ -158,6 +158,9 @@ void printbf(BF a) char *s; dprec = (a->body->_mpfr_prec)*0.30103; if ( !dprec ) dprec = 1; +#if defined(INTERVAL) + dprec += 3; +#endif sprintf(fbuf,"%%.%dR%c",dprec,(double_output==1)?'f':(double_output==2)?'e':'g'); mpfr_asprintf(&s,fbuf,a->body); TAIL PUTS(s); @@ -166,11 +169,19 @@ void printbf(BF a) void printz(Z n) { - mpz_out_str(OUT,10,BDY(n)); + if ( hex_output == 1 ) { + TAIL PUTS("0x"); + mpz_out_str(OUT,16,BDY(n)); + } else + mpz_out_str(OUT,10,BDY(n)); } void printmpz(mpz_t z) { - mpz_out_str(OUT,10,z); + if ( hex_output == 1 ) { + TAIL PUTS("0x"); + mpz_out_str(OUT,16,z); + } else + mpz_out_str(OUT,10,z); }