summaryrefslogtreecommitdiff
path: root/exp3.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2003-10-13 08:03:14 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2003-10-13 08:03:14 +0000
commit2e8a6a2e1fd67700c79c4bbe8b9ab7d5ebd9e5bf (patch)
tree53e0c280e7738729d0700aee2e07ec5c7931c3fd /exp3.c
parentd576f5ce56722d4dd32f1d0d02ffbefb26386d2d (diff)
downloadmpfr-2e8a6a2e1fd67700c79c4bbe8b9ab7d5ebd9e5bf.tar.gz
change in can_round calls to get correct inexact flag for rounding to nearest
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2488 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'exp3.c')
-rw-r--r--exp3.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/exp3.c b/exp3.c
index 953c126fa..7848e30bf 100644
--- a/exp3.c
+++ b/exp3.c
@@ -193,7 +193,8 @@ mpfr_exp3 (mpfr_ptr y, mpfr_srcptr x, mp_rnd_t rnd_mode)
mpfr_clear (t);
for (loop = 0 ; loop < shift_x; loop++)
mpfr_mul (tmp, tmp, tmp, GMP_RNDD);
- if (mpfr_can_round (tmp, realprec, GMP_RNDD, rnd_mode, MPFR_PREC(y)))
+ if (mpfr_can_round (tmp, realprec, GMP_RNDD, GMP_RNDZ,
+ MPFR_PREC(y) + (rnd_mode == GMP_RNDN)))
{
inexact = mpfr_set (y, tmp, rnd_mode);
good = 1;