diff options
author | enge <enge@211d60ee-9f03-0410-a15a-8952a2c7a4e4> | 2012-08-28 13:11:20 +0000 |
---|---|---|
committer | enge <enge@211d60ee-9f03-0410-a15a-8952a2c7a4e4> | 2012-08-28 13:11:20 +0000 |
commit | dafea60cfb97d2ddf76fd122adedb043ccb3b4bc (patch) | |
tree | 03525f77edbbed17c7da6d377d3b68836fa28faa | |
parent | 40ad07513b2f3164ccda55457862d9db3cba0e90 (diff) | |
download | mpc-dafea60cfb97d2ddf76fd122adedb043ccb3b4bc.tar.gz |
backported fix in r1254 to branch 1.0
git-svn-id: svn://scm.gforge.inria.fr/svn/mpc/branches/1.0@1256 211d60ee-9f03-0410-a15a-8952a2c7a4e4
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | src/fma.c | 2 |
2 files changed, 3 insertions, 1 deletions
@@ -1,5 +1,7 @@ Changes in version 1.0.1: - #14669: Fixed extraction of CC from gmp.h + - Fixed case of intermediate zero real or imaginary part in mpc_fma, + found by hydra with GMP_CHECK_RANDOMIZE=1346362345 Changes in version 1.0: - First release as a GNU package @@ -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); |