diff options
author | pelissip <pelissip@280ebfd0-de03-0410-8827-d642c229c3f4> | 2005-03-23 13:04:37 +0000 |
---|---|---|
committer | pelissip <pelissip@280ebfd0-de03-0410-8827-d642c229c3f4> | 2005-03-23 13:04:37 +0000 |
commit | ae78097ba337250cd8e9bea9ae036d4b246b4ca3 (patch) | |
tree | e894513708f449ee0a3b8fd944ce57ac9194ca09 /mul.c | |
parent | 0c1f2aedff32e28589612ec2ab853bd162d171b2 (diff) | |
download | mpfr-ae78097ba337250cd8e9bea9ae036d4b246b4ca3.tar.gz |
Don't use Mulder at n+1 for MPFR_MUL_THRESHOLD+1
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3401 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'mul.c')
-rw-r--r-- | mul.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -366,7 +366,8 @@ mpfr_mul (mpfr_ptr a, mpfr_srcptr b, mpfr_srcptr c, mp_rnd_t rnd_mode) We may lost 1 bit due to RNDN, 1 due to final shift. */ if (MPFR_UNLIKELY (MPFR_PREC (a) > p - 5)) { - if (MPFR_UNLIKELY (MPFR_PREC (a) > p - 5 + BITS_PER_MP_LIMB)) + if (MPFR_UNLIKELY (MPFR_PREC (a) > p - 5 + BITS_PER_MP_LIMB + || bn <= MPFR_MUL_THRESHOLD+1)) { /* MulHigh can't produce a roundable result. */ MPFR_LOG_MSG (("mpfr_mulhigh can't be used (%lu VS %lu)\n", |