mirror of
https://github.com/python/cpython.git
synced 2025-10-17 20:28:43 +00:00
gh-111178: Fix function signatures in longobject.c (#124895)
* Add _PyLong_CAST() macro. * Move forward declarations to the top of longobject.c. * Change long_add(), long_sub(), long_mul(), long_neg(), long_lshift(), long_abs() to take PyLongObject* and return PyLongObject*. Avoid CHECK_BINOP() test. * Add long_add_method(), long_sub_method(), long_mul_method(), long_neg_method(), long_lshift_method(), and long_abs_method() which take PyObject* and return PyObject*. Implement CHECK_BINOP() test. * Add long_lshift_int64() function. * _PyLong_DivmodNear() calls long_lshift_int64(obj, 1) instead of long_lshift_obj(obj, one).
This commit is contained in:
parent
29951c8471
commit
113b2d7583
2 changed files with 145 additions and 103 deletions
|
@ -2,6 +2,9 @@
|
|||
# error "this header file must not be included directly"
|
||||
#endif
|
||||
|
||||
#define _PyLong_CAST(op) \
|
||||
(assert(PyLong_Check(op)), _Py_CAST(PyLongObject*, (op)))
|
||||
|
||||
PyAPI_FUNC(PyObject*) PyLong_FromUnicodeObject(PyObject *u, int base);
|
||||
|
||||
#define Py_ASNATIVEBYTES_DEFAULTS -1
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue