diff options
author | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2005-05-04 09:27:48 +0000 |
---|---|---|
committer | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2005-05-04 09:27:48 +0000 |
commit | 150f2dcebabbb3eb7ef8833751a166e277aa0ebd (patch) | |
tree | fb461e4644e7b6c4edb7f0e5bdf9ef884091e0c5 /asinh.c | |
parent | df41811f1ecf4f773defab58f3323368528ffa73 (diff) | |
download | mpfr-150f2dcebabbb3eb7ef8833751a166e277aa0ebd.tar.gz |
improved const_euler and eint
removed dependency from input precision in several functions
fixed two bugs in pow (detection of exact cases)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3524 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'asinh.c')
-rw-r--r-- | asinh.c | 9 |
1 files changed, 3 insertions, 6 deletions
@@ -30,7 +30,7 @@ mpfr_asinh (mpfr_ptr y, mpfr_srcptr x, mp_rnd_t rnd_mode) { int inexact; int signx, neg; - mp_prec_t Nx, Ny, Nt; + mp_prec_t Ny, Nt; mpfr_t t; /* auxiliary variables */ mp_exp_t err; MPFR_SAVE_EXPO_DECL (expo); @@ -61,7 +61,6 @@ mpfr_asinh (mpfr_ptr y, mpfr_srcptr x, mp_rnd_t rnd_mode) } } - Nx = MPFR_PREC (x); /* Precision of input variable */ Ny = MPFR_PREC (y); /* Precision of output variable */ signx = MPFR_SIGN (x); @@ -70,10 +69,8 @@ mpfr_asinh (mpfr_ptr y, mpfr_srcptr x, mp_rnd_t rnd_mode) /* General case */ /* compute the precision of intermediary variable */ - Nt = MAX (Nx, Ny); - - /* the optimal number of bits : see algorithms.ps */ - Nt = Nt + 4 + MPFR_INT_CEIL_LOG2 (Nt); + /* the optimal number of bits : see algorithms.tex */ + Nt = Ny + 4 + MPFR_INT_CEIL_LOG2 (Ny); MPFR_SAVE_EXPO_MARK (expo); |