diff options
author | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2014-01-29 23:43:47 +0000 |
---|---|---|
committer | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2014-01-29 23:43:47 +0000 |
commit | 2da0783d9f5d4124e0efea3de55384408e47937d (patch) | |
tree | d8cb9dddf51685b7026529de671a5d8a4fd6c663 /src/exp_2.c | |
parent | f027fb01c44b45faac26db2fd79d4920fc7ea254 (diff) | |
download | mpfr-2da0783d9f5d4124e0efea3de55384408e47937d.tar.gz |
[src] Add constants:
* __gmpfr_mone = -1
* mpfr_const_log2_RNDD = log(2) rounded down in precision 64 bits
* mpfr_const_log2_RNDU = log(2) rounded up in precision 64 bits
(modified patch from Patrick PĂ©lissier).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8913 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'src/exp_2.c')
-rw-r--r-- | src/exp_2.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/exp_2.c b/src/exp_2.c index 5dade2a9a..247f1a960 100644 --- a/src/exp_2.c +++ b/src/exp_2.c @@ -106,8 +106,7 @@ mpfr_exp_2 (mpfr_ptr y, mpfr_srcptr x, mpfr_rnd_t rnd_mode) { mp_limb_t r_limb[(sizeof (long) -1) / sizeof(mp_limb_t) + 1]; MPFR_TMP_INIT1(r_limb, r, sizeof (long) * CHAR_BIT); - mpfr_const_log2 (r, MPFR_RNDZ); - mpfr_div (r, x, r, MPFR_RNDN); + mpfr_div (r, x, __gmpfr_const_log2_RNDD, MPFR_RNDN); n = mpfr_get_si (r, MPFR_RNDN); } /* we have |x| <= (|n|+1)*log(2) */ |