diff options
author | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2015-02-27 10:01:18 +0000 |
---|---|---|
committer | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2015-02-27 10:01:18 +0000 |
commit | f3d957fbf2fd3e48ec18d33373b697e086ccfecb (patch) | |
tree | 0bca518d2eb20ab30e0c8c09c266451eb0dc72b8 | |
parent | 18f11f38f1d2f7bf89a167213048eb11e037a5f2 (diff) | |
download | mpfr-f3d957fbf2fd3e48ec18d33373b697e086ccfecb.tar.gz |
[src/next.c] Avoid an unnecessary loop when the exponent decreases.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9327 280ebfd0-de03-0410-8827-d642c229c3f4
-rw-r--r-- | src/next.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/next.c b/src/next.c index 0a36084f4..8703fa8e5 100644 --- a/src/next.c +++ b/src/next.c @@ -57,11 +57,9 @@ mpfr_nexttozero (mpfr_ptr x) MPFR_SET_ZERO(x); else { - mp_size_t i; MPFR_SET_EXP (x, exp - 1); - xp[0] = MPFR_LIMB_MAX << sh; - for (i = 1; i < xn; i++) - xp[i] = MPFR_LIMB_MAX; + /* The following is valid whether xn = 1 or xn > 1. */ + xp[xn-1] |= MPFR_LIMB_HIGHBIT; } } } |