summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/log.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/log.c b/src/log.c
index 822dea5..ad1d448 100644
--- a/src/log.c
+++ b/src/log.c
@@ -206,12 +206,10 @@ mpc_log (mpc_ptr rop, mpc_srcptr op, mpc_rnd_t rnd){
MPC_RND_IM (rnd));
/* set the real part; cannot be done before if rop==op */
- if (underflow) {
+ if (underflow)
/* create underflow in result */
- mpfr_set_ui (mpc_realref (rop), 1, GMP_RNDN);
- inex_re = mpfr_mul_2si (mpc_realref (rop), mpc_realref (rop), mpfr_get_emin_min (),
- MPC_RND_RE (rnd));
- }
+ inex_re = mpfr_set_ui_2exp (mpc_realref (rop), 1,
+ mpfr_get_emin_min () - 2, MPC_RND_RE (rnd));
else
inex_re = mpfr_set (mpc_realref (rop), w, MPC_RND_RE (rnd));
mpfr_clear (w);