summaryrefslogtreecommitdiff
path: root/mpf/set_str.c
diff options
context:
space:
mode:
authortege <tege@gmplib.org>2002-05-06 15:22:19 +0200
committertege <tege@gmplib.org>2002-05-06 15:22:19 +0200
commit9080f17b46e75167b7f3bde7c1f0d45f99621db3 (patch)
tree74c3c0b10276e1ee3f3afc2184523f9594867e63 /mpf/set_str.c
parentbd3be8816de78cfeee4881fe50ff0e1f6d7410f2 (diff)
downloadgmp-9080f17b46e75167b7f3bde7c1f0d45f99621db3.tar.gz
Nailify.
Diffstat (limited to 'mpf/set_str.c')
-rw-r--r--mpf/set_str.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/mpf/set_str.c b/mpf/set_str.c
index 7e2becfd4..306dd27db 100644
--- a/mpf/set_str.c
+++ b/mpf/set_str.c
@@ -244,7 +244,7 @@ mpf_set_str (mpf_ptr x, const char *str, int base)
rp[0] = base;
rsize = 1;
count_leading_zeros (cnt, exp_in_base);
- for (i = BITS_PER_MP_LIMB - cnt - 2; i >= 0; i--)
+ for (i = GMP_LIMB_BITS - cnt - 2; i >= 0; i--)
{
mpn_sqr_n (tp, rp, rsize);
rsize = 2 * rsize;
@@ -290,10 +290,11 @@ mpf_set_str (mpf_ptr x, const char *str, int base)
madj -= rsize - msize;
msize = rsize;
}
- if (! (rp[rsize-1] & MP_LIMB_T_HIGHBIT))
+ if ((rp[rsize - 1] & GMP_NUMB_HIGHBIT) == 0)
{
mp_limb_t cy;
count_leading_zeros (cnt, rp[rsize - 1]);
+ cnt -= GMP_NAIL_BITS;
mpn_lshift (rp, rp, rsize, cnt);
cy = mpn_lshift (mp, mp, msize, cnt);
if (cy)