picop.cylong#

Fast int / long C-API helpers.

picop.cylong.int_eq(a, b)#

Return True if a == b — thin alias of long_eq (same semantics). :type a: object :param a: :type b: object :param b:

Return type:

bool

picop.cylong.long_as_double(pylong)#
picop.cylong.long_as_long(pylong)#
picop.cylong.long_as_long_overflow(pylong)#

Return (value, overflow) via PyLong_AsLongAndOverflow. :type pylong: object :param pylong:

Return type:

tuple[int, int]

picop.cylong.long_as_longlong(pylong)#

Return a long long via PyLong_AsLongLong. :type pylong: object :param pylong:

Return type:

int

picop.cylong.long_as_ssize(pylong)#
picop.cylong.long_as_ulong(pylong)#

Return an unsigned long via PyLong_AsUnsignedLong. :type pylong: object :param pylong:

Return type:

int

picop.cylong.long_as_ulong_mask(io)#

Return PyLong_AsUnsignedLongMask.

Notes

Wraps on overflow and does not raise — trusted-caller. See Safety.

Parameters:

io (object)

Return type:

int

picop.cylong.long_as_ulonglong(pylong)#

Return an unsigned long long via PyLong_AsUnsignedLongLong. :type pylong: object :param pylong:

Return type:

int

picop.cylong.long_as_ulonglong_mask(io)#

Return PyLong_AsUnsignedLongLongMask.

Notes

Wraps on overflow and does not raise — trusted-caller. See Safety.

Parameters:

io (object)

Return type:

int

picop.cylong.long_check(p)#

Return True if p is an int or subtype (PyLong_Check). :type p: object :param p:

Return type:

bool

picop.cylong.long_check_exact(p)#

Return True if type(p) is int (PyLong_CheckExact); False for bool. :type p: object :param p:

Return type:

bool

picop.cylong.long_eq(a, b)#

Return True if integers are equal (identity short-circuit + richcompare). :type a: object :param a: :type b: object :param b:

Return type:

bool

picop.cylong.long_from_double(v)#
picop.cylong.long_from_long(v)#
picop.cylong.long_from_longlong(v)#

Return an int from long long via PyLong_FromLongLong. :type v: int :param v:

Return type:

object

picop.cylong.long_from_size(v)#

Return an int from size_t via PyLong_FromSize_t. :type v: int :param v:

Return type:

object

picop.cylong.long_from_ssize(v)#
picop.cylong.long_from_ulong(v)#

Return an int from an unsigned long via PyLong_FromUnsignedLong. :type v: int :param v:

Return type:

object

picop.cylong.long_from_ulonglong(v)#

Return an int from unsigned long long via PyLong_FromUnsignedLongLong. :type v: int :param v:

Return type:

object