summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2018-09-11 10:45:39 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2018-09-11 10:45:39 +0000
commit1f5e11d025166d5ff55829dce06979034ab3bdcd (patch)
tree8107c733db08ed43393fda938ae7a24c7bdbb235
parent103b286455bfb64dd5e8401ef7f80f5bdeb1bfe8 (diff)
downloadmpfr-1f5e11d025166d5ff55829dce06979034ab3bdcd.tar.gz
[src/strtofr.c] fixed r13168: in case exact=0, mpn_rshift was not done
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@13170 280ebfd0-de03-0410-8827-d642c229c3f4
-rw-r--r--src/strtofr.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/strtofr.c b/src/strtofr.c
index b7d31e2d2..e61122e4c 100644
--- a/src/strtofr.c
+++ b/src/strtofr.c
@@ -580,9 +580,9 @@ parsed_string_to_mpfr (mpfr_t x, struct parsed_string *pstr, mpfr_rnd_t rnd)
{
exact = real_ysize == ysize + 1 || y[0] == MPFR_LIMB_ZERO;
/* mpn_rshift allows overlap, provided destination <= source */
- exact = exact &&
- mpn_rshift (y, y + real_ysize - ysize - 1, real_ysize,
- GMP_NUMB_BITS - count) == MPFR_LIMB_ZERO;
+ exact = mpn_rshift (y, y + real_ysize - ysize - 1, real_ysize,
+ GMP_NUMB_BITS - count) == MPFR_LIMB_ZERO
+ && exact;
}
else
{