move _long_is_small_int

This commit is contained in:
Pieter Eendebak 2025-12-21 21:38:21 +01:00
parent 19cbe693a4
commit c9edd321f6

View file

@ -48,6 +48,16 @@ _Py_DECREF_INT(PyLongObject *op)
_Py_DECREF_SPECIALIZED((PyObject *)op, _PyLong_ExactDealloc);
}
static inline int
/// Return 1 if the object is one of the immortal small ints
_long_is_small_int(PyObject *op)
{
PyLongObject *long_object = (PyLongObject *)op;
int is_small_int = (long_object->long_value.lv_tag & IMMORTALITY_BIT_MASK) != 0;
assert((!is_small_int) || PyLong_CheckExact(op));
return is_small_int;
}
static inline int
is_medium_int(stwodigits x)
{
@ -3622,16 +3632,6 @@ long_richcompare(PyObject *self, PyObject *other, int op)
Py_RETURN_RICHCOMPARE(result, 0, op);
}
static inline int
/// Return 1 if the object is one of the immortal small ints
_long_is_small_int(PyObject *op)
{
PyLongObject *long_object = (PyLongObject *)op;
int is_small_int = (long_object->long_value.lv_tag & IMMORTALITY_BIT_MASK) != 0;
assert((!is_small_int) || PyLong_CheckExact(op));
return is_small_int;
}
void
_PyLong_ExactDealloc(PyObject *self)
{