diff options
author | Paul Zimmermann <Paul.Zimmermann@inria.fr> | 2020-03-03 13:02:49 +0100 |
---|---|---|
committer | Paul Zimmermann <Paul.Zimmermann@inria.fr> | 2020-03-03 13:02:49 +0100 |
commit | 23cecd90c748c9a1ac41eb2928390d096c0b00bb (patch) | |
tree | 01f8fb0fa2d24d4394531d9dc5ef791fd6b0c067 | |
parent | 584bae845e9821395371025d3dd4089b04803a94 (diff) | |
download | mpc-git-23cecd90c748c9a1ac41eb2928390d096c0b00bb.tar.gz |
fixed "overflow" case where z is real
-rw-r--r-- | src/pow.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -702,7 +702,12 @@ mpc_pow (mpc_ptr z, mpc_srcptr x, mpc_srcptr y, mpc_rnd_t rnd) if (mpfr_inf_p (mpc_realref (z))) inex_re = mpc_fix_inf (mpc_realref (z), MPC_RND_RE(rnd)); if (mpfr_inf_p (mpc_imagref (z))) - inex_im = mpc_fix_inf (mpc_imagref (z), MPC_RND_IM(rnd)); + { + if (z_real) + inex_im = mpfr_set_ui (mpc_imagref (z), 0, MPC_RND_IM(rnd)); + else + inex_im = mpc_fix_inf (mpc_imagref (z), MPC_RND_IM(rnd)); + } ret = MPC_INEX(inex_re,inex_im); goto exact; } |