summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzimmerma <zimmerma@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2012-06-26 16:29:27 +0000
committerzimmerma <zimmerma@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2012-06-26 16:29:27 +0000
commit326b171de318ba176b3e15f0249b30561244699b (patch)
tree92aa94ef6a2399d0d2ce6457950ffdafea821ce4
parent2183d8a5992ae304a3ccdcdb81f2842e9ec82c0f (diff)
downloadmpc-326b171de318ba176b3e15f0249b30561244699b.tar.gz
[fma.c] fixed error in mpfr_can_round() calls: use rnd1=GMP_RNDN to say
the error on the approximation can be positive or negative (work with Benjamin Dadoun) git-svn-id: svn://scm.gforge.inria.fr/svn/mpc/trunk@1171 211d60ee-9f03-0410-a15a-8952a2c7a4e4
-rw-r--r--src/fma.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/fma.c b/src/fma.c
index b38f2be..fa2c0ca 100644
--- a/src/fma.c
+++ b/src/fma.c
@@ -167,10 +167,10 @@ mpc_fma (mpc_ptr r, mpc_srcptr a, mpc_srcptr b, mpc_srcptr c, mpc_rnd_t rnd)
diffre = (diffre > 0 ? diffre + 1 : 1);
diffim = (diffim > 0 ? diffim + 1 : 1);
okre = diffre > wpre ? 0 : mpfr_can_round (mpc_realref(ab),
- wpre - diffre, GMP_RNDZ, GMP_RNDZ,
+ wpre - diffre, GMP_RNDN, GMP_RNDZ,
pre + (MPC_RND_RE (rnd) == GMP_RNDN));
okim = diffim > wpim ? 0 : mpfr_can_round (mpc_imagref(ab),
- wpim - diffim, GMP_RNDZ, GMP_RNDZ,
+ wpim - diffim, GMP_RNDN, GMP_RNDZ,
pim + (MPC_RND_IM (rnd) == GMP_RNDN));
if (okre && okim)
{