diff options
author | enge <enge@211d60ee-9f03-0410-a15a-8952a2c7a4e4> | 2011-02-23 22:05:27 +0000 |
---|---|---|
committer | enge <enge@211d60ee-9f03-0410-a15a-8952a2c7a4e4> | 2011-02-23 22:05:27 +0000 |
commit | 7d912e0ba506eb63b2c3e472763ba04d10829f2f (patch) | |
tree | d9e2932a5039dc6be7c7f56b31f001b757bebaa8 /src/mul.c | |
parent | 52ef098cfd2b070600bf692e610a85e474a8728a (diff) | |
download | mpc-7d912e0ba506eb63b2c3e472763ba04d10829f2f.tar.gz |
mul.c, mul.dat: removed unused branch, added test to cover one branch
git-svn-id: svn://scm.gforge.inria.fr/svn/mpc/trunk@968 211d60ee-9f03-0410-a15a-8952a2c7a4e4
Diffstat (limited to 'src/mul.c')
-rw-r--r-- | src/mul.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -232,12 +232,13 @@ mpfr_fmam (mpfr_ptr z, mpfr_srcptr a, mpfr_srcptr b, mpfr_srcptr c, /* recompute u and v and move exponents to eu and ev */ mpfr_mul (u, a, b, GMP_RNDN); - mpz_add_si (eu, eu, (long int) mpfr_get_exp (u)); + /* exponent of u is non-positive */ + mpz_sub_ui (eu, eu, (unsigned long int) (-mpfr_get_exp (u))); mpfr_set_exp (u, (mpfr_prec_t) 0); mpfr_mul (v, c, d, GMP_RNDN); if (sign < 0) mpfr_neg (v, v, GMP_RNDN); - mpz_add_si (ev, ev, (long int) mpfr_get_exp (v)); + mpz_sub_ui (ev, ev, (unsigned long int) (-mpfr_get_exp (v))); mpfr_set_exp (v, (mpfr_prec_t) 0); if (mpfr_nan_p (z)) { |