@@ -712,7 +712,7 @@ _PyLong_NumBits(PyObject *vv)
712
712
if ((size_t )(ndigits - 1 ) > SIZE_MAX / (size_t )PyLong_SHIFT )
713
713
goto Overflow ;
714
714
result = (size_t )(ndigits - 1 ) * (size_t )PyLong_SHIFT ;
715
- msd_bits = _Py_bit_length (msd );
715
+ msd_bits = _Py_bit_length_digit (msd );
716
716
if (SIZE_MAX - msd_bits < result )
717
717
goto Overflow ;
718
718
result += msd_bits ;
@@ -1822,7 +1822,7 @@ long_format_binary(PyObject *aa, int base, int alternate,
1822
1822
return -1 ;
1823
1823
}
1824
1824
size_a_in_bits = (size_a - 1 ) * PyLong_SHIFT +
1825
- _Py_bit_length (a -> ob_digit [size_a - 1 ]);
1825
+ _Py_bit_length_digit (a -> ob_digit [size_a - 1 ]);
1826
1826
/* Allow 1 character for a '-' sign. */
1827
1827
sz = negative + (size_a_in_bits + (bits - 1 )) / bits ;
1828
1828
}
@@ -2642,7 +2642,7 @@ x_divrem(PyLongObject *v1, PyLongObject *w1, PyLongObject **prem)
2642
2642
2643
2643
/* normalize: shift w1 left so that its top digit is >= PyLong_BASE/2.
2644
2644
shift v1 left by the same amount. Results go into w and v. */
2645
- d = PyLong_SHIFT - _Py_bit_length (w1 -> ob_digit [size_w - 1 ]);
2645
+ d = PyLong_SHIFT - _Py_bit_length_digit (w1 -> ob_digit [size_w - 1 ]);
2646
2646
carry = v_lshift (w -> ob_digit , w1 -> ob_digit , size_w , d );
2647
2647
assert (carry == 0 );
2648
2648
carry = v_lshift (v -> ob_digit , v1 -> ob_digit , size_v , d );
@@ -2764,7 +2764,7 @@ _PyLong_Frexp(PyLongObject *a, Py_ssize_t *e)
2764
2764
* e = 0 ;
2765
2765
return 0.0 ;
2766
2766
}
2767
- a_bits = _Py_bit_length (a -> ob_digit [a_size - 1 ]);
2767
+ a_bits = _Py_bit_length_digit (a -> ob_digit [a_size - 1 ]);
2768
2768
/* The following is an overflow-free version of the check
2769
2769
"if ((a_size - 1) * PyLong_SHIFT + a_bits > PY_SSIZE_T_MAX) ..." */
2770
2770
if (a_size >= (PY_SSIZE_T_MAX - 1 ) / PyLong_SHIFT + 1 &&
@@ -3857,8 +3857,8 @@ long_true_divide(PyObject *v, PyObject *w)
3857
3857
/* Extreme underflow */
3858
3858
goto underflow_or_zero ;
3859
3859
/* Next line is now safe from overflowing a Py_ssize_t */
3860
- diff = diff * PyLong_SHIFT + _Py_bit_length (a -> ob_digit [a_size - 1 ]) -
3861
- _Py_bit_length (b -> ob_digit [b_size - 1 ]);
3860
+ diff = diff * PyLong_SHIFT + _Py_bit_length_digit (a -> ob_digit [a_size - 1 ]) -
3861
+ _Py_bit_length_digit (b -> ob_digit [b_size - 1 ]);
3862
3862
/* Now diff = a_bits - b_bits. */
3863
3863
if (diff > DBL_MAX_EXP )
3864
3864
goto overflow ;
@@ -3934,7 +3934,7 @@ long_true_divide(PyObject *v, PyObject *w)
3934
3934
}
3935
3935
x_size = Py_ABS (Py_SIZE (x ));
3936
3936
assert (x_size > 0 ); /* result of division is never zero */
3937
- x_bits = (x_size - 1 )* PyLong_SHIFT + _Py_bit_length (x -> ob_digit [x_size - 1 ]);
3937
+ x_bits = (x_size - 1 )* PyLong_SHIFT + _Py_bit_length_digit (x -> ob_digit [x_size - 1 ]);
3938
3938
3939
3939
/* The number of extra bits that have to be rounded away. */
3940
3940
extra_bits = Py_MAX (x_bits , DBL_MIN_EXP - shift ) - DBL_MANT_DIG ;
@@ -4748,7 +4748,7 @@ _PyLong_GCD(PyObject *aarg, PyObject *barg)
4748
4748
alloc_b = Py_SIZE (b );
4749
4749
/* reduce until a fits into 2 digits */
4750
4750
while ((size_a = Py_SIZE (a )) > 2 ) {
4751
- nbits = _Py_bit_length (a -> ob_digit [size_a - 1 ]);
4751
+ nbits = _Py_bit_length_digit (a -> ob_digit [size_a - 1 ]);
4752
4752
/* extract top 2*PyLong_SHIFT bits of a into x, along with
4753
4753
corresponding bits of b into y */
4754
4754
size_b = Py_SIZE (b );
@@ -5269,7 +5269,7 @@ int_bit_length_impl(PyObject *self)
5269
5269
return PyLong_FromLong (0 );
5270
5270
5271
5271
msd = ((PyLongObject * )self )-> ob_digit [ndigits - 1 ];
5272
- msd_bits = _Py_bit_length (msd );
5272
+ msd_bits = _Py_bit_length_digit (msd );
5273
5273
5274
5274
if (ndigits <= PY_SSIZE_T_MAX /PyLong_SHIFT )
5275
5275
return PyLong_FromSsize_t ((ndigits - 1 )* PyLong_SHIFT + msd_bits );
0 commit comments