mirror of
https://github.com/python/cpython.git
synced 2025-11-02 19:12:55 +00:00
gh-119336: Restore removed _PyLong_NumBits() function (#119418)
It is used by the pywin32 project.
This commit is contained in:
parent
b1374aa1c2
commit
e50fac96e8
3 changed files with 10 additions and 11 deletions
|
|
@ -60,6 +60,15 @@ PyAPI_FUNC(Py_ssize_t) PyUnstable_Long_CompactValue(const PyLongObject* op);
|
||||||
// There are no error cases.
|
// There are no error cases.
|
||||||
PyAPI_FUNC(int) _PyLong_Sign(PyObject *v);
|
PyAPI_FUNC(int) _PyLong_Sign(PyObject *v);
|
||||||
|
|
||||||
|
/* _PyLong_NumBits. Return the number of bits needed to represent the
|
||||||
|
absolute value of a long. For example, this returns 1 for 1 and -1, 2
|
||||||
|
for 2 and -2, and 2 for 3 and -3. It returns 0 for 0.
|
||||||
|
v must not be NULL, and must be a normalized long.
|
||||||
|
(size_t)-1 is returned and OverflowError set if the true result doesn't
|
||||||
|
fit in a size_t.
|
||||||
|
*/
|
||||||
|
PyAPI_FUNC(size_t) _PyLong_NumBits(PyObject *v);
|
||||||
|
|
||||||
/* _PyLong_FromByteArray: View the n unsigned bytes as a binary integer in
|
/* _PyLong_FromByteArray: View the n unsigned bytes as a binary integer in
|
||||||
base 256, and return a Python int with the same numeric value.
|
base 256, and return a Python int with the same numeric value.
|
||||||
If n is 0, the integer is 0. Else:
|
If n is 0, the integer is 0. Else:
|
||||||
|
|
|
||||||
|
|
@ -47,17 +47,6 @@ extern "C" {
|
||||||
# error "_PY_LONG_DEFAULT_MAX_STR_DIGITS smaller than threshold."
|
# error "_PY_LONG_DEFAULT_MAX_STR_DIGITS smaller than threshold."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// _PyLong_NumBits. Return the number of bits needed to represent the
|
|
||||||
// absolute value of a long. For example, this returns 1 for 1 and -1, 2
|
|
||||||
// for 2 and -2, and 2 for 3 and -3. It returns 0 for 0.
|
|
||||||
// v must not be NULL, and must be a normalized long.
|
|
||||||
// (size_t)-1 is returned and OverflowError set if the true result doesn't
|
|
||||||
// fit in a size_t.
|
|
||||||
//
|
|
||||||
// Export for 'math' shared extension.
|
|
||||||
PyAPI_FUNC(size_t) _PyLong_NumBits(PyObject *v);
|
|
||||||
|
|
||||||
|
|
||||||
/* runtime lifecycle */
|
/* runtime lifecycle */
|
||||||
|
|
||||||
extern PyStatus _PyLong_InitTypes(PyInterpreterState *);
|
extern PyStatus _PyLong_InitTypes(PyInterpreterState *);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
Restore the removed ``_PyLong_NumBits()`` function. It is used by the pywin32 project. Patch by Ethan Smith
|
||||||
Loading…
Add table
Add a link
Reference in a new issue