summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthevenyp <thevenyp@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2013-11-07 13:17:31 +0000
committerthevenyp <thevenyp@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2013-11-07 13:17:31 +0000
commitb8144b9c36cddaf95f99ce051cec009294561c00 (patch)
treee1a7373a54ef6b41803fcd892fd97e02d91cfae3
parentda3182a5662cb52b7cbad3a7cbfd3b3c1a31b8a6 (diff)
downloadmpc-b8144b9c36cddaf95f99ce051cec009294561c00.tar.gz
[exp.c] Fix bug when the input parameter is reused as output.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpc/trunk@1329 211d60ee-9f03-0410-a15a-8952a2c7a4e4
-rw-r--r--src/exp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/exp.c b/src/exp.c
index 06faff3..f117a08 100644
--- a/src/exp.c
+++ b/src/exp.c
@@ -94,8 +94,9 @@ mpc_exp (mpc_ptr rop, mpc_srcptr op, mpc_rnd_t rnd)
if (mpfr_inf_p (mpc_imagref (op)))
{
+ int real_sign = mpfr_signbit (mpc_realref (op));
inex_re = mpfr_set (mpc_realref (rop), n, MPFR_RNDN);
- if (mpfr_signbit (mpc_realref (op)))
+ if (real_sign)
inex_im = mpfr_set (mpc_imagref (rop), n, MPFR_RNDN);
else
{