diff options
author | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2000-05-12 08:07:02 +0000 |
---|---|---|
committer | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2000-05-12 08:07:02 +0000 |
commit | c220bd0b2de5731e19ae899fe830ee5398b6dbf8 (patch) | |
tree | 1fb8257a0edf154c2301f894b096adfbbd5e17fc /get_str.c | |
parent | 8e3af5232d7f5ce88b68a212a3712306c3b21bda (diff) | |
download | mpfr-c220bd0b2de5731e19ae899fe830ee5398b6dbf8.tar.gz |
fixed pb with rounding of negative numbers
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@515 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'get_str.c')
-rw-r--r-- | get_str.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -151,18 +151,18 @@ char *mpfr_get_str(str, expptr, base, n, op, rnd_mode) ok=1; rnd_mode=GMP_RNDN; } - ok = pow2 || mpfr_can_round(b, q-err, rnd_mode, rnd_mode, prec); + else ok = pow2 || mpfr_can_round(b, q-err, rnd_mode, rnd_mode, prec); } while (ok==0 && (q+=BITS_PER_MP_LIMB) ); - if (ok) mpfr_round(b, rnd_mode, EXP(b)); - if (neg) switch (rnd_mode) { case GMP_RNDU: rnd_mode=GMP_RNDZ; break; case GMP_RNDD: rnd_mode=GMP_RNDU; break; } + if (ok) mpfr_round(b, rnd_mode, EXP(b)); + prec=EXP(b); /* may have changed due to rounding */ /* now the mantissa is the integer part of b */ |