diff options
author | Anton Samokhvalov <pg83@yandex.ru> | 2022-02-10 16:45:15 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:15 +0300 |
commit | 72cb13b4aff9bc9cf22e49251bc8fd143f82538f (patch) | |
tree | da2c34829458c7d4e74bdfbdf85dff449e9e7fb8 /contrib/tools/cython/Cython/Includes/cpython/number.pxd | |
parent | 778e51ba091dc39e7b7fcab2b9cf4dbedfb6f2b5 (diff) | |
download | ydb-72cb13b4aff9bc9cf22e49251bc8fd143f82538f.tar.gz |
Restoring authorship annotation for Anton Samokhvalov <pg83@yandex.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/tools/cython/Cython/Includes/cpython/number.pxd')
-rw-r--r-- | contrib/tools/cython/Cython/Includes/cpython/number.pxd | 500 |
1 files changed, 250 insertions, 250 deletions
diff --git a/contrib/tools/cython/Cython/Includes/cpython/number.pxd b/contrib/tools/cython/Cython/Includes/cpython/number.pxd index ded35c292a..f3a1629d44 100644 --- a/contrib/tools/cython/Cython/Includes/cpython/number.pxd +++ b/contrib/tools/cython/Cython/Includes/cpython/number.pxd @@ -1,32 +1,32 @@ from .object cimport PyObject - -cdef extern from "Python.h": - - ##################################################################### - # 6.2 Number Protocol - ##################################################################### - - bint PyNumber_Check(object o) - # Returns 1 if the object o provides numeric protocols, and false - # otherwise. This function always succeeds. - - object PyNumber_Add(object o1, object o2) - # Return value: New reference. - # Returns the result of adding o1 and o2, or NULL on failure. This - # is the equivalent of the Python expression "o1 + o2". - - object PyNumber_Subtract(object o1, object o2) - # Return value: New reference. - # Returns the result of subtracting o2 from o1, or NULL on - # failure. This is the equivalent of the Python expression "o1 - - # o2". - - object PyNumber_Multiply(object o1, object o2) - # Return value: New reference. - # Returns the result of multiplying o1 and o2, or NULL on - # failure. This is the equivalent of the Python expression "o1 * - # o2". - + +cdef extern from "Python.h": + + ##################################################################### + # 6.2 Number Protocol + ##################################################################### + + bint PyNumber_Check(object o) + # Returns 1 if the object o provides numeric protocols, and false + # otherwise. This function always succeeds. + + object PyNumber_Add(object o1, object o2) + # Return value: New reference. + # Returns the result of adding o1 and o2, or NULL on failure. This + # is the equivalent of the Python expression "o1 + o2". + + object PyNumber_Subtract(object o1, object o2) + # Return value: New reference. + # Returns the result of subtracting o2 from o1, or NULL on + # failure. This is the equivalent of the Python expression "o1 - + # o2". + + object PyNumber_Multiply(object o1, object o2) + # Return value: New reference. + # Returns the result of multiplying o1 and o2, or NULL on + # failure. This is the equivalent of the Python expression "o1 * + # o2". + object PyNumber_MatrixMultiply(object o1, object o2) # Return value: New reference. # Returns the result of matrix multiplication on o1 and o2, or @@ -34,112 +34,112 @@ cdef extern from "Python.h": # expression "o1 @ o2". # New in version 3.5. - object PyNumber_Divide(object o1, object o2) - # Return value: New reference. - # Returns the result of dividing o1 by o2, or NULL on - # failure. This is the equivalent of the Python expression "o1 / - # o2". - - object PyNumber_FloorDivide(object o1, object o2) - # Return value: New reference. - # Return the floor of o1 divided by o2, or NULL on failure. This - # is equivalent to the ``classic'' division of integers. - - object PyNumber_TrueDivide(object o1, object o2) - # Return value: New reference. - # Return a reasonable approximation for the mathematical value of - # o1 divided by o2, or NULL on failure. The return value is - # ``approximate'' because binary floating point numbers are - # approximate; it is not possible to represent all real numbers in - # base two. This function can return a floating point value when - # passed two integers. - - object PyNumber_Remainder(object o1, object o2) - # Return value: New reference. - # Returns the remainder of dividing o1 by o2, or NULL on - # failure. This is the equivalent of the Python expression "o1 % - # o2". - - object PyNumber_Divmod(object o1, object o2) - # Return value: New reference. - # See the built-in function divmod(). Returns NULL on - # failure. This is the equivalent of the Python expression - # "divmod(o1, o2)". - - object PyNumber_Power(object o1, object o2, object o3) - # Return value: New reference. - # See the built-in function pow(). Returns NULL on failure. This - # is the equivalent of the Python expression "pow(o1, o2, o3)", - # where o3 is optional. If o3 is to be ignored, pass Py_None in - # its place (passing NULL for o3 would cause an illegal memory - # access). - - object PyNumber_Negative(object o) - # Return value: New reference. - # Returns the negation of o on success, or NULL on failure. This - # is the equivalent of the Python expression "-o". - - object PyNumber_Positive(object o) - # Return value: New reference. - # Returns o on success, or NULL on failure. This is the equivalent - # of the Python expression "+o". - - object PyNumber_Absolute(object o) - # Return value: New reference. - # Returns the absolute value of o, or NULL on failure. This is the - # equivalent of the Python expression "abs(o)". - - object PyNumber_Invert(object o) - # Return value: New reference. - # Returns the bitwise negation of o on success, or NULL on - # failure. This is the equivalent of the Python expression "~o". - - object PyNumber_Lshift(object o1, object o2) - # Return value: New reference. - # Returns the result of left shifting o1 by o2 on success, or NULL - # on failure. This is the equivalent of the Python expression "o1 - # << o2". - - object PyNumber_Rshift(object o1, object o2) - # Return value: New reference. - # Returns the result of right shifting o1 by o2 on success, or - # NULL on failure. This is the equivalent of the Python expression - # "o1 >> o2". - - object PyNumber_And(object o1, object o2) - # Return value: New reference. - # Returns the ``bitwise and'' of o1 and o2 on success and NULL on - # failure. This is the equivalent of the Python expression "o1 & - # o2". - - object PyNumber_Xor(object o1, object o2) - # Return value: New reference. - # Returns the ``bitwise exclusive or'' of o1 by o2 on success, or - # NULL on failure. This is the equivalent of the Python expression - # "o1 ^ o2". - - object PyNumber_Or(object o1, object o2) - # Return value: New reference. - # Returns the ``bitwise or'' of o1 and o2 on success, or NULL on failure. This is the equivalent of the Python expression "o1 | o2". - - object PyNumber_InPlaceAdd(object o1, object o2) - # Return value: New reference. - # Returns the result of adding o1 and o2, or NULL on failure. The - # operation is done in-place when o1 supports it. This is the - # equivalent of the Python statement "o1 += o2". - - object PyNumber_InPlaceSubtract(object o1, object o2) - # Return value: New reference. - # Returns the result of subtracting o2 from o1, or NULL on - # failure. The operation is done in-place when o1 supports - # it. This is the equivalent of the Python statement "o1 -= o2". - - object PyNumber_InPlaceMultiply(object o1, object o2) - # Return value: New reference. - # Returns the result of multiplying o1 and o2, or NULL on - # failure. The operation is done in-place when o1 supports - # it. This is the equivalent of the Python statement "o1 *= o2". - + object PyNumber_Divide(object o1, object o2) + # Return value: New reference. + # Returns the result of dividing o1 by o2, or NULL on + # failure. This is the equivalent of the Python expression "o1 / + # o2". + + object PyNumber_FloorDivide(object o1, object o2) + # Return value: New reference. + # Return the floor of o1 divided by o2, or NULL on failure. This + # is equivalent to the ``classic'' division of integers. + + object PyNumber_TrueDivide(object o1, object o2) + # Return value: New reference. + # Return a reasonable approximation for the mathematical value of + # o1 divided by o2, or NULL on failure. The return value is + # ``approximate'' because binary floating point numbers are + # approximate; it is not possible to represent all real numbers in + # base two. This function can return a floating point value when + # passed two integers. + + object PyNumber_Remainder(object o1, object o2) + # Return value: New reference. + # Returns the remainder of dividing o1 by o2, or NULL on + # failure. This is the equivalent of the Python expression "o1 % + # o2". + + object PyNumber_Divmod(object o1, object o2) + # Return value: New reference. + # See the built-in function divmod(). Returns NULL on + # failure. This is the equivalent of the Python expression + # "divmod(o1, o2)". + + object PyNumber_Power(object o1, object o2, object o3) + # Return value: New reference. + # See the built-in function pow(). Returns NULL on failure. This + # is the equivalent of the Python expression "pow(o1, o2, o3)", + # where o3 is optional. If o3 is to be ignored, pass Py_None in + # its place (passing NULL for o3 would cause an illegal memory + # access). + + object PyNumber_Negative(object o) + # Return value: New reference. + # Returns the negation of o on success, or NULL on failure. This + # is the equivalent of the Python expression "-o". + + object PyNumber_Positive(object o) + # Return value: New reference. + # Returns o on success, or NULL on failure. This is the equivalent + # of the Python expression "+o". + + object PyNumber_Absolute(object o) + # Return value: New reference. + # Returns the absolute value of o, or NULL on failure. This is the + # equivalent of the Python expression "abs(o)". + + object PyNumber_Invert(object o) + # Return value: New reference. + # Returns the bitwise negation of o on success, or NULL on + # failure. This is the equivalent of the Python expression "~o". + + object PyNumber_Lshift(object o1, object o2) + # Return value: New reference. + # Returns the result of left shifting o1 by o2 on success, or NULL + # on failure. This is the equivalent of the Python expression "o1 + # << o2". + + object PyNumber_Rshift(object o1, object o2) + # Return value: New reference. + # Returns the result of right shifting o1 by o2 on success, or + # NULL on failure. This is the equivalent of the Python expression + # "o1 >> o2". + + object PyNumber_And(object o1, object o2) + # Return value: New reference. + # Returns the ``bitwise and'' of o1 and o2 on success and NULL on + # failure. This is the equivalent of the Python expression "o1 & + # o2". + + object PyNumber_Xor(object o1, object o2) + # Return value: New reference. + # Returns the ``bitwise exclusive or'' of o1 by o2 on success, or + # NULL on failure. This is the equivalent of the Python expression + # "o1 ^ o2". + + object PyNumber_Or(object o1, object o2) + # Return value: New reference. + # Returns the ``bitwise or'' of o1 and o2 on success, or NULL on failure. This is the equivalent of the Python expression "o1 | o2". + + object PyNumber_InPlaceAdd(object o1, object o2) + # Return value: New reference. + # Returns the result of adding o1 and o2, or NULL on failure. The + # operation is done in-place when o1 supports it. This is the + # equivalent of the Python statement "o1 += o2". + + object PyNumber_InPlaceSubtract(object o1, object o2) + # Return value: New reference. + # Returns the result of subtracting o2 from o1, or NULL on + # failure. The operation is done in-place when o1 supports + # it. This is the equivalent of the Python statement "o1 -= o2". + + object PyNumber_InPlaceMultiply(object o1, object o2) + # Return value: New reference. + # Returns the result of multiplying o1 and o2, or NULL on + # failure. The operation is done in-place when o1 supports + # it. This is the equivalent of the Python statement "o1 *= o2". + object PyNumber_InPlaceMatrixMultiply(object o1, object o2) # Return value: New reference. # Returns the result of matrix multiplication on o1 and o2, or @@ -147,119 +147,119 @@ cdef extern from "Python.h": # it. This is the equivalent of the Python statement "o1 @= o2". # New in version 3.5. - object PyNumber_InPlaceDivide(object o1, object o2) - # Return value: New reference. - # Returns the result of dividing o1 by o2, or NULL on failure. The - # operation is done in-place when o1 supports it. This is the - # equivalent of the Python statement "o1 /= o2". - - object PyNumber_InPlaceFloorDivide(object o1, object o2) - # Return value: New reference. - # Returns the mathematical floor of dividing o1 by o2, or NULL on - # failure. The operation is done in-place when o1 supports - # it. This is the equivalent of the Python statement "o1 //= - # o2". - - object PyNumber_InPlaceTrueDivide(object o1, object o2) - # Return value: New reference. - # Return a reasonable approximation for the mathematical value of - # o1 divided by o2, or NULL on failure. The return value is - # ``approximate'' because binary floating point numbers are - # approximate; it is not possible to represent all real numbers in - # base two. This function can return a floating point value when - # passed two integers. The operation is done in-place when o1 - # supports it. - - object PyNumber_InPlaceRemainder(object o1, object o2) - # Return value: New reference. - # Returns the remainder of dividing o1 by o2, or NULL on - # failure. The operation is done in-place when o1 supports - # it. This is the equivalent of the Python statement "o1 %= o2". - - object PyNumber_InPlacePower(object o1, object o2, object o3) - # Return value: New reference. - # See the built-in function pow(). Returns NULL on failure. The - # operation is done in-place when o1 supports it. This is the - # equivalent of the Python statement "o1 **= o2" when o3 is - # Py_None, or an in-place variant of "pow(o1, o2, o3)" - # otherwise. If o3 is to be ignored, pass Py_None in its place - # (passing NULL for o3 would cause an illegal memory access). - - object PyNumber_InPlaceLshift(object o1, object o2) - # Return value: New reference. - # Returns the result of left shifting o1 by o2 on success, or NULL - # on failure. The operation is done in-place when o1 supports - # it. This is the equivalent of the Python statement "o1 <<= o2". - - object PyNumber_InPlaceRshift(object o1, object o2) - # Return value: New reference. - # Returns the result of right shifting o1 by o2 on success, or - # NULL on failure. The operation is done in-place when o1 supports - # it. This is the equivalent of the Python statement "o1 >>= o2". - - object PyNumber_InPlaceAnd(object o1, object o2) - # Return value: New reference. - # Returns the ``bitwise and'' of o1 and o2 on success and NULL on - # failure. The operation is done in-place when o1 supports - # it. This is the equivalent of the Python statement "o1 &= o2". - - object PyNumber_InPlaceXor(object o1, object o2) - # Return value: New reference. - # Returns the ``bitwise exclusive or'' of o1 by o2 on success, or - # NULL on failure. The operation is done in-place when o1 supports - # it. This is the equivalent of the Python statement "o1 ^= o2". - - object PyNumber_InPlaceOr(object o1, object o2) - # Return value: New reference. - # Returns the ``bitwise or'' of o1 and o2 on success, or NULL on - # failure. The operation is done in-place when o1 supports - # it. This is the equivalent of the Python statement "o1 |= o2". - - int PyNumber_Coerce(PyObject **p1, PyObject **p2) except -1 - # This function takes the addresses of two variables of type - # PyObject*. If the objects pointed to by *p1 and *p2 have the - # same type, increment their reference count and return 0 - # (success). If the objects can be converted to a common numeric - # type, replace *p1 and *p2 by their converted value (with 'new' - # reference counts), and return 0. If no conversion is possible, - # or if some other error occurs, return -1 (failure) and don't - # increment the reference counts. The call PyNumber_Coerce(&o1, - # &o2) is equivalent to the Python statement "o1, o2 = coerce(o1, - # o2)". - - object PyNumber_Int(object o) - # Return value: New reference. - # Returns the o converted to an integer object on success, or NULL - # on failure. If the argument is outside the integer range a long - # object will be returned instead. This is the equivalent of the - # Python expression "int(o)". - - object PyNumber_Long(object o) - # Return value: New reference. - # Returns the o converted to a long integer object on success, or - # NULL on failure. This is the equivalent of the Python expression - # "long(o)". - - object PyNumber_Float(object o) - # Return value: New reference. - # Returns the o converted to a float object on success, or NULL on - # failure. This is the equivalent of the Python expression - # "float(o)". - - object PyNumber_Index(object o) - # Returns the o converted to a Python int or long on success or - # NULL with a TypeError exception raised on failure. - - Py_ssize_t PyNumber_AsSsize_t(object o, object exc) except? -1 - # Returns o converted to a Py_ssize_t value if o can be - # interpreted as an integer. If o can be converted to a Python int - # or long but the attempt to convert to a Py_ssize_t value would - # raise an OverflowError, then the exc argument is the type of - # exception that will be raised (usually IndexError or - # OverflowError). If exc is NULL, then the exception is cleared - # and the value is clipped to PY_SSIZE_T_MIN for a negative - # integer or PY_SSIZE_T_MAX for a positive integer. - - bint PyIndex_Check(object) - # Returns True if o is an index integer (has the nb_index slot of - # the tp_as_number structure filled in). + object PyNumber_InPlaceDivide(object o1, object o2) + # Return value: New reference. + # Returns the result of dividing o1 by o2, or NULL on failure. The + # operation is done in-place when o1 supports it. This is the + # equivalent of the Python statement "o1 /= o2". + + object PyNumber_InPlaceFloorDivide(object o1, object o2) + # Return value: New reference. + # Returns the mathematical floor of dividing o1 by o2, or NULL on + # failure. The operation is done in-place when o1 supports + # it. This is the equivalent of the Python statement "o1 //= + # o2". + + object PyNumber_InPlaceTrueDivide(object o1, object o2) + # Return value: New reference. + # Return a reasonable approximation for the mathematical value of + # o1 divided by o2, or NULL on failure. The return value is + # ``approximate'' because binary floating point numbers are + # approximate; it is not possible to represent all real numbers in + # base two. This function can return a floating point value when + # passed two integers. The operation is done in-place when o1 + # supports it. + + object PyNumber_InPlaceRemainder(object o1, object o2) + # Return value: New reference. + # Returns the remainder of dividing o1 by o2, or NULL on + # failure. The operation is done in-place when o1 supports + # it. This is the equivalent of the Python statement "o1 %= o2". + + object PyNumber_InPlacePower(object o1, object o2, object o3) + # Return value: New reference. + # See the built-in function pow(). Returns NULL on failure. The + # operation is done in-place when o1 supports it. This is the + # equivalent of the Python statement "o1 **= o2" when o3 is + # Py_None, or an in-place variant of "pow(o1, o2, o3)" + # otherwise. If o3 is to be ignored, pass Py_None in its place + # (passing NULL for o3 would cause an illegal memory access). + + object PyNumber_InPlaceLshift(object o1, object o2) + # Return value: New reference. + # Returns the result of left shifting o1 by o2 on success, or NULL + # on failure. The operation is done in-place when o1 supports + # it. This is the equivalent of the Python statement "o1 <<= o2". + + object PyNumber_InPlaceRshift(object o1, object o2) + # Return value: New reference. + # Returns the result of right shifting o1 by o2 on success, or + # NULL on failure. The operation is done in-place when o1 supports + # it. This is the equivalent of the Python statement "o1 >>= o2". + + object PyNumber_InPlaceAnd(object o1, object o2) + # Return value: New reference. + # Returns the ``bitwise and'' of o1 and o2 on success and NULL on + # failure. The operation is done in-place when o1 supports + # it. This is the equivalent of the Python statement "o1 &= o2". + + object PyNumber_InPlaceXor(object o1, object o2) + # Return value: New reference. + # Returns the ``bitwise exclusive or'' of o1 by o2 on success, or + # NULL on failure. The operation is done in-place when o1 supports + # it. This is the equivalent of the Python statement "o1 ^= o2". + + object PyNumber_InPlaceOr(object o1, object o2) + # Return value: New reference. + # Returns the ``bitwise or'' of o1 and o2 on success, or NULL on + # failure. The operation is done in-place when o1 supports + # it. This is the equivalent of the Python statement "o1 |= o2". + + int PyNumber_Coerce(PyObject **p1, PyObject **p2) except -1 + # This function takes the addresses of two variables of type + # PyObject*. If the objects pointed to by *p1 and *p2 have the + # same type, increment their reference count and return 0 + # (success). If the objects can be converted to a common numeric + # type, replace *p1 and *p2 by their converted value (with 'new' + # reference counts), and return 0. If no conversion is possible, + # or if some other error occurs, return -1 (failure) and don't + # increment the reference counts. The call PyNumber_Coerce(&o1, + # &o2) is equivalent to the Python statement "o1, o2 = coerce(o1, + # o2)". + + object PyNumber_Int(object o) + # Return value: New reference. + # Returns the o converted to an integer object on success, or NULL + # on failure. If the argument is outside the integer range a long + # object will be returned instead. This is the equivalent of the + # Python expression "int(o)". + + object PyNumber_Long(object o) + # Return value: New reference. + # Returns the o converted to a long integer object on success, or + # NULL on failure. This is the equivalent of the Python expression + # "long(o)". + + object PyNumber_Float(object o) + # Return value: New reference. + # Returns the o converted to a float object on success, or NULL on + # failure. This is the equivalent of the Python expression + # "float(o)". + + object PyNumber_Index(object o) + # Returns the o converted to a Python int or long on success or + # NULL with a TypeError exception raised on failure. + + Py_ssize_t PyNumber_AsSsize_t(object o, object exc) except? -1 + # Returns o converted to a Py_ssize_t value if o can be + # interpreted as an integer. If o can be converted to a Python int + # or long but the attempt to convert to a Py_ssize_t value would + # raise an OverflowError, then the exc argument is the type of + # exception that will be raised (usually IndexError or + # OverflowError). If exc is NULL, then the exception is cleared + # and the value is clipped to PY_SSIZE_T_MIN for a negative + # integer or PY_SSIZE_T_MAX for a positive integer. + + bint PyIndex_Check(object) + # Returns True if o is an index integer (has the nb_index slot of + # the tp_as_number structure filled in). |