diff options
author | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2007-05-28 00:27:16 +0000 |
---|---|---|
committer | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2007-05-28 00:27:16 +0000 |
commit | 5c24b31fcbc7fb09d383548121b5157642de489e (patch) | |
tree | 7dc70b37eb9c08ba96b8b2f979275ecf16c1a70f /atan.c | |
parent | f380ece2680461570e1ce03956ebb173b63052f6 (diff) | |
download | mpfr-5c24b31fcbc7fb09d383548121b5157642de489e.tar.gz |
Avoid integer overflow in MPFR_FAST_COMPUTE_IF_SMALL_INPUT.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@4468 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'atan.c')
-rw-r--r-- | atan.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -250,7 +250,8 @@ mpfr_atan (mpfr_ptr atan, mpfr_srcptr x, mp_rnd_t rnd_mode) /* atan(x) = x - x^3/3 + x^5/5... so the error is < 2^(3*EXP(x)-1) so `EXP(x)-(3*EXP(x)-1)` = -2*EXP(x)+1 */ - MPFR_FAST_COMPUTE_IF_SMALL_INPUT (atan,x, -2*MPFR_GET_EXP (x)+1,0,rnd_mode,{}); + MPFR_FAST_COMPUTE_IF_SMALL_INPUT (atan, x, -2 * MPFR_GET_EXP (x), 1, 0, + rnd_mode, {}); /* Set x_p=|x| */ MPFR_TMP_INIT_ABS (xp, x); |