picop.cynumber#

Number protocol helpers.

picop.cynumber.num_abs(o)#
picop.cynumber.num_add(o1, o2)#
picop.cynumber.num_and(o1, o2)#
picop.cynumber.num_as_ssize(o, exc=None)#
picop.cynumber.num_check(o)#

Return True if o provides the number protocol (PyNumber_Check). :type o: object :param o:

Return type:

bool

picop.cynumber.num_divmod(o1, o2)#

Return divmod(o1, o2) via PyNumber_Divmod. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cynumber.num_eq(a, b)#

Return True if a == b via richcompare (abstract number; NaN parity). :type a: object :param a: :type b: object :param b:

Return type:

bool

picop.cynumber.num_float(o)#

Return float(o) via PyNumber_Float. :type o: object :param o:

Return type:

object

picop.cynumber.num_floordiv(o1, o2)#

Return o1 // o2 via PyNumber_FloorDivide. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cynumber.num_index(o)#
picop.cynumber.num_index_check(o)#

Return True if o is an index integer (PyIndex_Check). :type o: object :param o:

Return type:

bool

picop.cynumber.num_inplace_add(o1, o2)#

Return in-place o1 += o2 result via PyNumber_InPlaceAdd. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cynumber.num_inplace_and(o1, o2)#

Return in-place o1 &= o2 result via PyNumber_InPlaceAnd. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cynumber.num_inplace_floordiv(o1, o2)#

Return in-place o1 //= o2 result via PyNumber_InPlaceFloorDivide. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cynumber.num_inplace_lshift(o1, o2)#

Return in-place o1 <<= o2 result via PyNumber_InPlaceLshift. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cynumber.num_inplace_matmul(o1, o2)#

Return in-place o1 @= o2 result via PyNumber_InPlaceMatrixMultiply. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cynumber.num_inplace_mod(o1, o2)#

Return in-place o1 %= o2 result via PyNumber_InPlaceRemainder. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cynumber.num_inplace_mul(o1, o2)#

Return in-place o1 *= o2 result via PyNumber_InPlaceMultiply. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cynumber.num_inplace_or(o1, o2)#

Return in-place o1 |= o2 result via PyNumber_InPlaceOr. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cynumber.num_inplace_pow(o1, o2, o3=None)#

Return in-place power via PyNumber_InPlacePower. :type o1: object :param o1: :type o2: object :param o2: :type o3: object, default: None :param o3:

Return type:

object

picop.cynumber.num_inplace_rshift(o1, o2)#

Return in-place o1 >>= o2 result via PyNumber_InPlaceRshift. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cynumber.num_inplace_sub(o1, o2)#

Return in-place o1 -= o2 result via PyNumber_InPlaceSubtract. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cynumber.num_inplace_truediv(o1, o2)#

Return in-place o1 /= o2 result via PyNumber_InPlaceTrueDivide. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cynumber.num_inplace_xor(o1, o2)#

Return in-place o1 ^= o2 result via PyNumber_InPlaceXor. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cynumber.num_invert(o)#

Return ~o via PyNumber_Invert. :type o: object :param o:

Return type:

object

picop.cynumber.num_long(o)#
picop.cynumber.num_lshift(o1, o2)#

Return o1 << o2 via PyNumber_Lshift. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cynumber.num_matmul(o1, o2)#

Return o1 @ o2 via PyNumber_MatrixMultiply. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cynumber.num_mod(o1, o2)#
picop.cynumber.num_mul(o1, o2)#
picop.cynumber.num_neg(o)#
picop.cynumber.num_or(o1, o2)#

Return o1 | o2 via PyNumber_Or. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cynumber.num_pos(o)#

Return +o via PyNumber_Positive. :type o: object :param o:

Return type:

object

picop.cynumber.num_pow(o1, o2, o3=None)#
picop.cynumber.num_rshift(o1, o2)#

Return o1 >> o2 via PyNumber_Rshift. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cynumber.num_sub(o1, o2)#

Return o1 - o2 via PyNumber_Subtract. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cynumber.num_truediv(o1, o2)#
picop.cynumber.num_xor(o1, o2)#

Return o1 ^ o2 via PyNumber_Xor. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object