summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorzimmerma <zimmerma@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2012-06-27 12:37:29 +0000
committerzimmerma <zimmerma@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2012-06-27 12:37:29 +0000
commit6ecb821ac1ad818985c51add181e2f26ba2509be (patch)
tree95319beb5d9425bce817204522ee4b1a98114f9a /src
parentdf476636a2b9137e1a5f7217620ca08a73666607 (diff)
downloadmpc-6ecb821ac1ad818985c51add181e2f26ba2509be.tar.gz
[pow_ui.c] fixed bug in mpfr_can_round() call (and improved code coverage)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpc/trunk@1189 211d60ee-9f03-0410-a15a-8952a2c7a4e4
Diffstat (limited to 'src')
-rw-r--r--src/pow_ui.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/pow_ui.c b/src/pow_ui.c
index 3381028..56dac4a 100644
--- a/src/pow_ui.c
+++ b/src/pow_ui.c
@@ -131,9 +131,9 @@ mpc_pow_usi (mpc_ptr z, mpc_srcptr x, unsigned long y, int sign,
/* the factor on the imaginary part is 2+2^(diff+2) <= 4 for diff <= -1
and < 2^(diff+3) for diff >= 0 */
ei = (diff <= -1) ? l0 + 3 : l0 + diff + 3;
- if (mpfr_can_round (mpc_realref(t), p - er, GMP_RNDZ, GMP_RNDZ,
+ if (mpfr_can_round (mpc_realref(t), p - er, GMP_RNDN, GMP_RNDZ,
MPC_PREC_RE(z) + (MPC_RND_RE(rnd) == GMP_RNDN))
- && mpfr_can_round (mpc_imagref(t), p - ei, GMP_RNDZ, GMP_RNDZ,
+ && mpfr_can_round (mpc_imagref(t), p - ei, GMP_RNDN, GMP_RNDZ,
MPC_PREC_IM(z) + (MPC_RND_IM(rnd) == GMP_RNDN))) {
inex = mpc_set (z, t, rnd);
done = 1;