aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/cython/Cython/Includes/cpython/number.pxd
diff options
context:
space:
mode:
authorAnton Samokhvalov <pg83@yandex.ru>2022-02-10 16:45:15 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:15 +0300
commit72cb13b4aff9bc9cf22e49251bc8fd143f82538f (patch)
treeda2c34829458c7d4e74bdfbdf85dff449e9e7fb8 /contrib/tools/cython/Cython/Includes/cpython/number.pxd
parent778e51ba091dc39e7b7fcab2b9cf4dbedfb6f2b5 (diff)
downloadydb-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.pxd500
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).