summaryrefslogtreecommitdiff
path: root/mul.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2005-09-08 09:37:46 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2005-09-08 09:37:46 +0000
commit0fad99e6a690c6f115b1e15a038670b9d4b0c3c4 (patch)
tree3bdb6bc88afb09b7655eb0ea0959beac678d91ff /mul.c
parentf9c88ca8c507aa414264aee69a43c8c3e58bc0e2 (diff)
downloadmpfr-0fad99e6a690c6f115b1e15a038670b9d4b0c3c4.tar.gz
MUL_THRESHOLD -> MUL_THRESHOLD+1 (to allow MUL_THRESHOLD=0, needed for
tuneup.c) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3812 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'mul.c')
-rw-r--r--mul.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/mul.c b/mul.c
index e34238478..91aeb5c8f 100644
--- a/mul.c
+++ b/mul.c
@@ -350,7 +350,7 @@ mpfr_mul (mpfr_ptr a, mpfr_srcptr b, mpfr_srcptr c, mp_rnd_t rnd_mode)
}
else
#endif
- if (MPFR_UNLIKELY (bn > MPFR_MUL_THRESHOLD))
+ if (MPFR_UNLIKELY (bn > MPFR_MUL_THRESHOLD + 1))
{
mp_limb_t *bp, *cp;
mp_size_t n;
@@ -360,7 +360,7 @@ mpfr_mul (mpfr_ptr a, mpfr_srcptr b, mpfr_srcptr c, mp_rnd_t rnd_mode)
exact values are a nightmare for the short product trick */
bp = MPFR_MANT (b);
cp = MPFR_MANT (c);
- MPFR_ASSERTN (MPFR_MUL_THRESHOLD >= 1);
+ MPFR_ASSERTN (MPFR_MUL_THRESHOLD >= 0);
if (MPFR_UNLIKELY ((bp[0] == 0 && bp[1] == 0) ||
(cp[0] == 0 && cp[1] == 0)))
{
@@ -413,7 +413,7 @@ mpfr_mul (mpfr_ptr a, mpfr_srcptr b, mpfr_srcptr c, mp_rnd_t rnd_mode)
if (MPFR_UNLIKELY (MPFR_PREC (a) > p - 5))
{
if (MPFR_UNLIKELY (MPFR_PREC (a) > p - 5 + BITS_PER_MP_LIMB
- || bn <= MPFR_MUL_THRESHOLD+1))
+ || bn <= MPFR_MUL_THRESHOLD + 2))
{
/* MulHigh can't produce a roundable result. */
MPFR_LOG_MSG (("mpfr_mulhigh can't be used (%lu VS %lu)\n",