https://github.com/python/cpython/commit/02df6795743ee4ee26a07986edbb5e22ae9fec8b
commit: 02df6795743ee4ee26a07986edbb5e22ae9fec8b
branch: main
author: Serhiy Storchaka <[email protected]>
committer: serhiy-storchaka <[email protected]>
date: 2024-06-24T09:49:01+03:00
summary:
Use _PyLong_IsNegative instead of _PyLong_Sign if appropriate. (GH-120493)
It is faster and more obvious.
files:
M Modules/_ctypes/_ctypes.c
M Modules/_interpretersmodule.c
M Modules/_io/_iomodule.c
diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c
index 1d9534671a4ee8..222700b4b7cc69 100644
--- a/Modules/_ctypes/_ctypes.c
+++ b/Modules/_ctypes/_ctypes.c
@@ -1606,7 +1606,7 @@ PyCArrayType_init(PyObject *self, PyObject *args,
PyObject *kwds)
goto error;
}
- if (_PyLong_Sign(length_attr) == -1) {
+ if (_PyLong_IsNegative((PyLongObject *)length_attr)) {
Py_DECREF(length_attr);
PyErr_SetString(PyExc_ValueError,
"The '_length_' attribute must not be negative");
diff --git a/Modules/_interpretersmodule.c b/Modules/_interpretersmodule.c
index 6df6952dfe384f..6f3392fe6ea28d 100644
--- a/Modules/_interpretersmodule.c
+++ b/Modules/_interpretersmodule.c
@@ -10,7 +10,6 @@
#include "pycore_crossinterp.h" // struct _xid
#include "pycore_interp.h" // _PyInterpreterState_IDIncref()
#include "pycore_initconfig.h" // _PyErr_SetFromPyStatus()
-#include "pycore_long.h" // _PyLong_IsNegative()
#include "pycore_modsupport.h" // _PyArg_BadArgument()
#include "pycore_namespace.h" // _PyNamespace_New()
#include "pycore_pybuffer.h" // _PyBuffer_ReleaseInInterpreterAndRawFree()
diff --git a/Modules/_io/_iomodule.c b/Modules/_io/_iomodule.c
index 269070fe2b0a42..d236098e6977e8 100644
--- a/Modules/_io/_iomodule.c
+++ b/Modules/_io/_iomodule.c
@@ -10,7 +10,7 @@
#include "Python.h"
#include "pycore_abstract.h" // _PyNumber_Index()
#include "pycore_initconfig.h" // _PyStatus_OK()
-#include "pycore_long.h" // _PyLong_Sign()
+#include "pycore_long.h" // _PyLong_IsNegative()
#include "pycore_pyerrors.h" // _PyErr_ChainExceptions1()
#include "pycore_pystate.h" // _PyInterpreterState_GET()
@@ -544,10 +544,7 @@ PyNumber_AsOff_t(PyObject *item, PyObject *err)
*/
if (!err) {
assert(PyLong_Check(value));
- /* Whether or not it is less than or equal to
- zero is determined by the sign of ob_size
- */
- if (_PyLong_Sign(value) < 0)
+ if (_PyLong_IsNegative((PyLongObject *)value))
result = PY_OFF_T_MIN;
else
result = PY_OFF_T_MAX;
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]