Long Integer Objects ******************** PyLongObject This subtype of "PyObject" represents a Python long integer object. PyTypeObject PyLong_Type This instance of "PyTypeObject" represents the Python long integer type. This is the same object as "long" and "types.LongType". int PyLong_Check(PyObject *p) Return true if its argument is a "PyLongObject" or a subtype of "PyLongObject". Changed in version 2.2: Allowed subtypes to be accepted. int PyLong_CheckExact(PyObject *p) Return true if its argument is a "PyLongObject", but not a subtype of "PyLongObject". New in version 2.2. PyObject* PyLong_FromLong(long v) *Return value: New reference.* Return a new "PyLongObject" object from *v*, or *NULL* on failure. PyObject* PyLong_FromUnsignedLong(unsigned long v) *Return value: New reference.* Return a new "PyLongObject" object from a C "unsigned long", or *NULL* on failure. PyObject* PyLong_FromSsize_t(Py_ssize_t v) *Return value: New reference.* Return a new "PyLongObject" object from a C "Py_ssize_t", or *NULL* on failure. New in version 2.6. PyObject* PyLong_FromSize_t(size_t v) *Return value: New reference.* Return a new "PyLongObject" object from a C "size_t", or *NULL* on failure. New in version 2.6. PyObject* PyLong_FromLongLong(PY_LONG_LONG v) *Return value: New reference.* Return a new "PyLongObject" object from a C "long long", or *NULL* on failure. PyObject* PyLong_FromUnsignedLongLong(unsigned PY_LONG_LONG v) *Return value: New reference.* Return a new "PyLongObject" object from a C "unsigned long long", or *NULL* on failure. PyObject* PyLong_FromDouble(double v) *Return value: New reference.* Return a new "PyLongObject" object from the integer part of *v*, or *NULL* on failure. PyObject* PyLong_FromString(char *str, char **pend, int base) *Return value: New reference.* Return a new "PyLongObject" based on the string value in *str*, which is interpreted according to the radix in *base*. If *pend* is non-*NULL*, **pend* will point to the first character in *str* which follows the representation of the number. If *base* is "0", the radix will be determined based on the leading characters of *str*: if *str* starts with "'0x'" or "'0X'", radix 16 will be used; if *str* starts with "'0'", radix 8 will be used; otherwise radix 10 will be used. If *base* is not "0", it must be between "2" and "36", inclusive. Leading spaces are ignored. If there are no digits, "ValueError" will be raised. PyObject* PyLong_FromUnicode(Py_UNICODE *u, Py_ssize_t length, int base) *Return value: New reference.* Convert a sequence of Unicode digits to a Python long integer value. The first parameter, *u*, points to the first character of the Unicode string, *length* gives the number of characters, and *base* is the radix for the conversion. The radix must be in the range [2, 36]; if it is out of range, "ValueError" will be raised. New in version 1.6. Changed in version 2.5: This function used an "int" for *length*. This might require changes in your code for properly supporting 64-bit systems. PyObject* PyLong_FromVoidPtr(void *p) *Return value: New reference.* Create a Python integer or long integer from the pointer *p*. The pointer value can be retrieved from the resulting value using "PyLong_AsVoidPtr()". New in version 1.5.2. Changed in version 2.5: If the integer is larger than LONG_MAX, a positive long integer is returned. long PyLong_AsLong(PyObject *pylong) Return a C "long" representation of the contents of *pylong*. If *pylong* is greater than "LONG_MAX", an "OverflowError" is raised and "-1" will be returned. long PyLong_AsLongAndOverflow(PyObject *pylong, int *overflow) Return a C "long" representation of the contents of *pylong*. If *pylong* is greater than "LONG_MAX" or less than "LONG_MIN", set **overflow* to "1" or "-1", respectively, and return "-1"; otherwise, set **overflow* to "0". If any other exception occurs (for example a TypeError or MemoryError), then "-1" will be returned and **overflow* will be "0". New in version 2.7. PY_LONG_LONG PyLong_AsLongLongAndOverflow(PyObject *pylong, int *overflow) Return a C "long long" representation of the contents of *pylong*. If *pylong* is greater than "PY_LLONG_MAX" or less than "PY_LLONG_MIN", set **overflow* to "1" or "-1", respectively, and return "-1"; otherwise, set **overflow* to "0". If any other exception occurs (for example a TypeError or MemoryError), then "-1" will be returned and **overflow* will be "0". New in version 2.7. Py_ssize_t PyLong_AsSsize_t(PyObject *pylong) Return a C "Py_ssize_t" representation of the contents of *pylong*. If *pylong* is greater than "PY_SSIZE_T_MAX", an "OverflowError" is raised and "-1" will be returned. New in version 2.6. unsigned long PyLong_AsUnsignedLong(PyObject *pylong) Return a C "unsigned long" representation of the contents of *pylong*. If *pylong* is greater than "ULONG_MAX", an "OverflowError" is raised. PY_LONG_LONG PyLong_AsLongLong(PyObject *pylong) Return a C "long long" from a Python long integer. If *pylong* cannot be represented as a "long long", an "OverflowError" is raised and "-1" is returned. New in version 2.2. unsigned PY_LONG_LONG PyLong_AsUnsignedLongLong(PyObject *pylong) Return a C "unsigned long long" from a Python long integer. If *pylong* cannot be represented as an "unsigned long long", an "OverflowError" is raised and "(unsigned long long)-1" is returned. New in version 2.2. Changed in version 2.7: A negative *pylong* now raises "OverflowError", not "TypeError". unsigned long PyLong_AsUnsignedLongMask(PyObject *io) Return a C "unsigned long" from a Python long integer, without checking for overflow. Returns "(unsigned long)-1" on error. Use "PyErr_Occurred()" to disambiguate. New in version 2.3. unsigned PY_LONG_LONG PyLong_AsUnsignedLongLongMask(PyObject *io) Return a C "unsigned long long" from a Python long integer, without checking for overflow. Returns "(unsigned PY_LONG_LONG)-1" on error. Use "PyErr_Occurred()" to disambiguate. New in version 2.3. double PyLong_AsDouble(PyObject *pylong) Return a C "double" representation of the contents of *pylong*. If *pylong* cannot be approximately represented as a "double", an "OverflowError" exception is raised and "-1.0" will be returned. void* PyLong_AsVoidPtr(PyObject *pylong) Convert a Python integer or long integer *pylong* to a C "void" pointer. If *pylong* cannot be converted, an "OverflowError" will be raised. This is only assured to produce a usable "void" pointer for values created with "PyLong_FromVoidPtr()". New in version 1.5.2. Changed in version 2.5: For values outside 0..LONG_MAX, both signed and unsigned integers are accepted.