summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2018-09-08 11:39:54 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2018-09-08 11:39:54 +0000
commitf02c20005b67d888f9acc5659401e178ac8cd6b5 (patch)
treec08b478328f035a76e243175ef7a731835bc83e5
parent31b0ab16fab78a90c32cf69f338036059070f5a0 (diff)
downloadmpfr-f02c20005b67d888f9acc5659401e178ac8cd6b5.tar.gz
[src/int_ceil_log2.c] fixed __gmpfr_int_ceil_log2 for limb < long
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@13161 280ebfd0-de03-0410-8827-d642c229c3f4
-rw-r--r--src/int_ceil_log2.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/int_ceil_log2.c b/src/int_ceil_log2.c
index bfd871e7b..ea2b5f48e 100644
--- a/src/int_ceil_log2.c
+++ b/src/int_ceil_log2.c
@@ -29,6 +29,7 @@ __gmpfr_int_ceil_log2 (unsigned long n)
if (MPFR_UNLIKELY (n == 1))
return 0;
else
+#ifdef MPFR_LONG_WITHIN_LIMB
{
int b;
mp_limb_t limb;
@@ -39,4 +40,7 @@ __gmpfr_int_ceil_log2 (unsigned long n)
count_leading_zeros (b, limb);
return GMP_NUMB_BITS - b;
}
+#else
+ return mpfr_nbits_ulong (n - 1);
+#endif
}