Kaydet (Commit) 07b1c877 authored tarafından Antoine Pitrou's avatar Antoine Pitrou

Issue #13522: document error return values of some float and complex C API functions.

üst bb2e9c47
...@@ -63,12 +63,18 @@ pointers. This is consistent throughout the API. ...@@ -63,12 +63,18 @@ pointers. This is consistent throughout the API.
Return the quotient of two complex numbers, using the C :c:type:`Py_complex` Return the quotient of two complex numbers, using the C :c:type:`Py_complex`
representation. representation.
If *divisor* is null, this method returns zero and sets
:c:data:`errno` to :c:data:`EDOM`.
.. c:function:: Py_complex _Py_c_pow(Py_complex num, Py_complex exp) .. c:function:: Py_complex _Py_c_pow(Py_complex num, Py_complex exp)
Return the exponentiation of *num* by *exp*, using the C :c:type:`Py_complex` Return the exponentiation of *num* by *exp*, using the C :c:type:`Py_complex`
representation. representation.
If :attr:`exp.imag` is not null, or :attr:`exp.real` is negative,
this method returns zero and sets :c:data:`errno` to :c:data:`EDOM`.
Complex Numbers as Python Objects Complex Numbers as Python Objects
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...@@ -123,4 +129,4 @@ Complex Numbers as Python Objects ...@@ -123,4 +129,4 @@ Complex Numbers as Python Objects
If *op* is not a Python complex number object but has a :meth:`__complex__` If *op* is not a Python complex number object but has a :meth:`__complex__`
method, this method will first be called to convert *op* to a Python complex method, this method will first be called to convert *op* to a Python complex
number object. number object. Upon failure, this method returns ``-1.0`` as a real value.
...@@ -47,6 +47,8 @@ Floating Point Objects ...@@ -47,6 +47,8 @@ Floating Point Objects
Return a C :c:type:`double` representation of the contents of *pyfloat*. If Return a C :c:type:`double` representation of the contents of *pyfloat*. If
*pyfloat* is not a Python floating point object but has a :meth:`__float__` *pyfloat* is not a Python floating point object but has a :meth:`__float__`
method, this method will first be called to convert *pyfloat* into a float. method, this method will first be called to convert *pyfloat* into a float.
This method returns ``-1.0`` upon failure, so one should call
:c:func:`PyErr_Occurred` to check for errors.
.. c:function:: double PyFloat_AS_DOUBLE(PyObject *pyfloat) .. c:function:: double PyFloat_AS_DOUBLE(PyObject *pyfloat)
......
...@@ -139,6 +139,7 @@ Tarn Weisner Burton ...@@ -139,6 +139,7 @@ Tarn Weisner Burton
Lee Busby Lee Busby
Ralph Butler Ralph Butler
Jp Calderone Jp Calderone
Arnaud Calmettes
Daniel Calvelo Daniel Calvelo
Tony Campbell Tony Campbell
Brett Cannon Brett Cannon
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment