diff options
author | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2017-01-28 09:20:50 +0000 |
---|---|---|
committer | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2017-01-28 09:20:50 +0000 |
commit | 1fff58fee0f6fd7d287340ff2c784cd6fa34ee16 (patch) | |
tree | bbca60a4657686aa4ca5466980a219db745c0c9f /src/atan.c | |
parent | aa6a41b0ccff3afcfd518b506d32e8cdba154410 (diff) | |
download | mpfr-1fff58fee0f6fd7d287340ff2c784cd6fa34ee16.tar.gz |
[src/atan.c] small optimization
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@11241 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'src/atan.c')
-rw-r--r-- | src/atan.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/atan.c b/src/atan.c index 7db8e55a1..4e5ccfd1c 100644 --- a/src/atan.c +++ b/src/atan.c @@ -211,8 +211,10 @@ mpfr_atan_aux (mpfr_ptr y, mpz_ptr p, unsigned long r, int m, mpz_t *tab) we can stop when r*i > precy i.e. i > precy/r */ { n = 1UL << m; + if (precy / r <= n) + n = (precy / r) + 1; MPFR_ASSERTN (n != 0); /* no overflow */ - for (i = k = 0; (i < n) && (i <= precy / r); i += 2, k ++) + for (i = k = 0; i < n; i += 2, k ++) { mpz_set_ui (Q[k + 1], 2 * i + 3); mpz_mul_2exp (S[k], Q[k+1], r); |