diff options
author | zimmerma <zimmerma@211d60ee-9f03-0410-a15a-8952a2c7a4e4> | 2012-08-28 12:45:52 +0000 |
---|---|---|
committer | zimmerma <zimmerma@211d60ee-9f03-0410-a15a-8952a2c7a4e4> | 2012-08-28 12:45:52 +0000 |
commit | 9124b2d5b6bb3c473274216c5a7a091d632c945d (patch) | |
tree | 16b26a819ef252b559be1acdb3eed2f080f0a3aa | |
parent | fee39b927a16f6a80129586f900a3bd7c3fcd019 (diff) | |
download | mpc-9124b2d5b6bb3c473274216c5a7a091d632c945d.tar.gz |
[fma.c] fixed bug found by hydra with GMP_CHECK_RANDOMIZE=1346362345
(check for zero real or imaginary part was too late)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpc/trunk@1254 211d60ee-9f03-0410-a15a-8952a2c7a4e4
-rw-r--r-- | src/fma.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -159,9 +159,9 @@ mpc_fma (mpc_ptr r, mpc_srcptr a, mpc_srcptr b, mpc_srcptr c, mpc_rnd_t rnd) break; diffre = mpfr_get_exp (mpc_realref(ab)); diffim = mpfr_get_exp (mpc_imagref(ab)); + mpc_add (ab, ab, c, MPC_RNDZZ); if (mpfr_zero_p (mpc_realref(ab)) || mpfr_zero_p (mpc_imagref(ab))) break; - mpc_add (ab, ab, c, MPC_RNDZZ); diffre -= mpfr_get_exp (mpc_realref(ab)); diffim -= mpfr_get_exp (mpc_imagref(ab)); diffre = (diffre > 0 ? diffre + 1 : 1); |