]> granicus.if.org Git - python/commitdiff
Issue #13522: document error return values of some float and complex C API functions.
authorAntoine Pitrou <solipsis@pitrou.net>
Sun, 18 Dec 2011 00:25:27 +0000 (01:25 +0100)
committerAntoine Pitrou <solipsis@pitrou.net>
Sun, 18 Dec 2011 00:25:27 +0000 (01:25 +0100)
Doc/c-api/complex.rst
Doc/c-api/float.rst
Misc/ACKS

index 43dfe56c2807a0c7ec289125d59c3530e4488091..3cff88a4e34cf527e197e283b034ad89d9d7bebb 100644 (file)
@@ -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`
    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)
 
    Return the exponentiation of *num* by *exp*, using the C :c:type:`Py_complex`
    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
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -123,4 +129,4 @@ Complex Numbers as Python Objects
 
    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
-   number object.
+   number object. Upon failure, this method returns ``-1.0`` as a real value.
index 757efd363d088bed1606ba6573e86e863522116f..27a75e3e0c2eeb8786910774b39638a983453ad4 100644 (file)
@@ -47,6 +47,8 @@ Floating Point Objects
    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__`
    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)
index 673c5467606066873660a0bfedceddc5a53828a6..10f138676d7f3dc7a796e0e21e735b4d421b25d1 100644 (file)
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -139,6 +139,7 @@ Tarn Weisner Burton
 Lee Busby
 Ralph Butler
 Jp Calderone
+Arnaud Calmettes
 Daniel Calvelo
 Tony Campbell
 Brett Cannon