diff options
author | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2015-03-30 14:57:17 +0000 |
---|---|---|
committer | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2015-03-30 14:57:17 +0000 |
commit | 0989bd965576a3205271be9627e3b8209285b6ef (patch) | |
tree | f241d9becc808ed30a704777c9e78c8e90562721 /src | |
parent | 9dd316071cd429813370f1a5750df94c7b274cf4 (diff) | |
download | mpfr-0989bd965576a3205271be9627e3b8209285b6ef.tar.gz |
[src/sum.c] Bug triggered by the check4 test fixed.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9356 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'src')
-rw-r--r-- | src/sum.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -584,7 +584,11 @@ sum_aux (mpfr_ptr sum, mpfr_ptr *const x, unsigned long n, mpfr_rnd_t rnd, which the rounding direction will be determined. */ MPFR_LOG_MSG (("Determine the sticky bit...\n", 0)); - inex = td >= 2 ? (wp[wi] & MPFR_LIMB_MASK (td - 1)) != 0 : 0; + inex = td >= 2 ? (wp[wi] & MPFR_LIMB_MASK (td - 1)) != 0 + : td == 0 ? + (MPFR_ASSERTD (wi >= 1), + (wp[--wi] & MPFR_LIMB_MASK (GMP_NUMB_BITS - 1)) != 0) + : 0; if (!inex) { |