summaryrefslogtreecommitdiff
path: root/src/atan.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2017-01-28 09:20:50 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2017-01-28 09:20:50 +0000
commit1fff58fee0f6fd7d287340ff2c784cd6fa34ee16 (patch)
treebbca60a4657686aa4ca5466980a219db745c0c9f /src/atan.c
parentaa6a41b0ccff3afcfd518b506d32e8cdba154410 (diff)
downloadmpfr-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.c4
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);