PyIntCompare */
| 11475 | |
| 11476 | /* PyIntCompare */ |
| 11477 | static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED long inplace) { |
| 11478 | if (op1 == op2) { |
| 11479 | Py_RETURN_TRUE; |
| 11480 | } |
| 11481 | #if PY_MAJOR_VERSION < 3 |
| 11482 | if (likely(PyInt_CheckExact(op1))) { |
| 11483 | const long b = intval; |
| 11484 | long a = PyInt_AS_LONG(op1); |
| 11485 | if (a == b) Py_RETURN_TRUE; else Py_RETURN_FALSE; |
| 11486 | } |
| 11487 | #endif |
| 11488 | #if CYTHON_USE_PYLONG_INTERNALS |
| 11489 | if (likely(PyLong_CheckExact(op1))) { |
| 11490 | int unequal; |
| 11491 | unsigned long uintval; |
| 11492 | Py_ssize_t size = Py_SIZE(op1); |
| 11493 | const digit* digits = ((PyLongObject*)op1)->ob_digit; |
| 11494 | if (intval == 0) { |
| 11495 | if (size == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; |
| 11496 | } else if (intval < 0) { |
| 11497 | if (size >= 0) |
| 11498 | Py_RETURN_FALSE; |
| 11499 | intval = -intval; |
| 11500 | size = -size; |
| 11501 | } else { |
| 11502 | if (size <= 0) |
| 11503 | Py_RETURN_FALSE; |
| 11504 | } |
| 11505 | uintval = (unsigned long) intval; |
| 11506 | #if PyLong_SHIFT * 4 < SIZEOF_LONG*8 |
| 11507 | if (uintval >> (PyLong_SHIFT * 4)) { |
| 11508 | unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) |
| 11509 | | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); |
| 11510 | } else |
| 11511 | #endif |
| 11512 | #if PyLong_SHIFT * 3 < SIZEOF_LONG*8 |
| 11513 | if (uintval >> (PyLong_SHIFT * 3)) { |
| 11514 | unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) |
| 11515 | | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); |
| 11516 | } else |
| 11517 | #endif |
| 11518 | #if PyLong_SHIFT * 2 < SIZEOF_LONG*8 |
| 11519 | if (uintval >> (PyLong_SHIFT * 2)) { |
| 11520 | unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) |
| 11521 | | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); |
| 11522 | } else |
| 11523 | #endif |
| 11524 | #if PyLong_SHIFT * 1 < SIZEOF_LONG*8 |
| 11525 | if (uintval >> (PyLong_SHIFT * 1)) { |
| 11526 | unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) |
| 11527 | | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); |
| 11528 | } else |
| 11529 | #endif |
| 11530 | unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK)); |
| 11531 | if (unequal == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; |
| 11532 | } |
| 11533 | #endif |
| 11534 | if (PyFloat_CheckExact(op1)) { |
no outgoing calls
no test coverage detected