summaryrefslogtreecommitdiff
path: root/strtofr.c
diff options
context:
space:
mode:
authorpelissip <pelissip@280ebfd0-de03-0410-8827-d642c229c3f4>2004-09-21 09:52:54 +0000
committerpelissip <pelissip@280ebfd0-de03-0410-8827-d642c229c3f4>2004-09-21 09:52:54 +0000
commit2224778893966ca26eaa1de2f7de03e04f10aa03 (patch)
treebce0b2bef646b6d9576f294a4c565b9501508d35 /strtofr.c
parenteab6fa9855ed8b0d9bd6f6491cf9798c72a58aa3 (diff)
downloadmpfr-2224778893966ca26eaa1de2f7de03e04f10aa03.tar.gz
Update Assertion for pow2.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2980 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'strtofr.c')
-rw-r--r--strtofr.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/strtofr.c b/strtofr.c
index e48d3bdbf..2fcda2553 100644
--- a/strtofr.c
+++ b/strtofr.c
@@ -479,7 +479,7 @@ parsed_string_to_mpfr (mpfr_t x, struct parsed_string *pstr, mp_rnd_t rnd)
count_leading_zeros (pow2, (mp_limb_t) pstr->base);
pow2 = BITS_PER_MP_LIMB - pow2 - 1; /* base = 2^pow2 */
- MPFR_ASSERTD (0 <= pow2 && pow2 <= 4);
+ MPFR_ASSERTD (0 < pow2 && pow2 <= 5);
/* exp += pow2 * (pstr->exp_base - pstr_size) + pstr->exp_bin
with overflow checking
and check that we can add/substract 2 to exp without overflow */
@@ -487,13 +487,10 @@ parsed_string_to_mpfr (mpfr_t x, struct parsed_string *pstr, mp_rnd_t rnd)
mp_exp_t, mp_exp_unsigned_t,
MPFR_EXP_MIN, MPFR_EXP_MAX,
goto overflow, goto underflow);
- if (pow2 != 0)
- {
- if (tmp > 0 && MPFR_EXP_MAX/pow2 <= tmp)
- goto overflow;
- else if (tmp < 0 && MPFR_EXP_MIN/pow2 >= tmp)
- goto underflow;
- }
+ if (tmp > 0 && MPFR_EXP_MAX/pow2 <= tmp)
+ goto overflow;
+ else if (tmp < 0 && MPFR_EXP_MIN/pow2 >= tmp)
+ goto underflow;
tmp *= pow2;
MPFR_SADD_OVERFLOW (tmp, tmp, pstr->exp_bin,
mp_exp_t, mp_exp_unsigned_t,