Mercurial > cpython-lru_cache-weakref
diff Objects/floatobject.c @ 43284:1f9eee08ab35
Check in some documentation tweaks for PEP 3141, add some tests, and implement
the promotion to complex on pow(negative, fraction).
| author | Jeffrey Yasskin <jyasskin@gmail.com> |
|---|---|
| date | Fri, 07 Sep 2007 15:15:49 +0000 |
| parents | 727539865f04 |
| children | 0ff41b163f5b |
line wrap: on
line diff
--- a/Objects/floatobject.c Fri Sep 07 15:00:39 2007 +0000 +++ b/Objects/floatobject.c Fri Sep 07 15:15:49 2007 +0000 @@ -680,9 +680,10 @@ * bugs so we have to figure it out ourselves. */ if (iw != floor(iw)) { - PyErr_SetString(PyExc_ValueError, "negative number " - "cannot be raised to a fractional power"); - return NULL; + /* Negative numbers raised to fractional powers + * become complex. + */ + return PyComplex_Type.tp_as_number->nb_power(v, w, z); } /* iw is an exact integer, albeit perhaps a very large one. * -1 raised to an exact integer should never be exceptional.
