Mark Dickinson
944c6aedd0
Reset errno before both calls to PyOS_ascii_strtod, not just one.
2009-04-26 14:00:08 +00:00
Mark Dickinson
0a6501bf56
Fix typo in complex parsing code; expand tests.
2009-04-25 09:47:00 +00:00
Mark Dickinson
90d47cb46c
Fix missing 'return NULL'
2009-04-24 13:14:07 +00:00
Mark Dickinson
95bc980d9e
Issue #5816 :
...
- simplify parsing and printing of complex numbers
- make complex(repr(z)) round-tripping work for complex
numbers involving nans, infs, or negative zeros
- don't accept some of the stranger complex strings
that were previously allowed---e.g., complex('1..1j')
2009-04-24 12:46:53 +00:00
Gregory P. Smith
dd96db63f6
This reverts r63675 based on the discussion in this thread:
...
http://mail.python.org/pipermail/python-dev/2008-June/079988.html
Python 2.6 should stick with PyString_* in its codebase. The PyBytes_* names
in the spirit of 3.0 are available via a #define only. See the email thread.
2008-06-09 04:58:54 +00:00
Alexandre Vassalotti
80af6da748
Fixed complex.__getnewargs__() to not emit another complex object.
2008-06-04 20:41:44 +00:00
Christian Heimes
593daf545b
Renamed PyString to PyBytes
2008-05-26 12:51:38 +00:00
Christian Heimes
6f34109384
I finally got the time to update and merge Mark's and my trunk-math branch. The patch is collaborated work of Mark Dickinson and me. It was mostly done a few months ago. The patch fixes a lot of loose ends and edge cases related to operations with NaN, INF, very small values and complex math.
...
The patch also adds acosh, asinh, atanh, log1p and copysign to all platforms. Finally it fixes differences between platforms like different results or exceptions for edge cases. Have fun :)
2008-04-18 23:13:07 +00:00
Neal Norwitz
9fdfaaf9af
Fix compiler warning about finite() missing on Solaris.
2008-03-28 05:34:59 +00:00
Christian Heimes
2f0da53d28
Fixed repr() and str() of complex numbers. Complex suffered from the same problem as floats but I forgot to test and fix them.
2008-02-15 06:57:08 +00:00
Christian Heimes
d7e1b2bd17
static PyObject* variables should use PyString_InternFromString() instead of PyObject_FromString() to store a python string in a function level static var.
2008-01-28 02:07:53 +00:00
Georg Brandl
96f2184de6
Indentation normalization.
2008-01-19 10:18:07 +00:00
Jeffrey Yasskin
2f3c16be73
Backport PEP 3141 from the py3k branch to the trunk. This includes r50877 (just
...
the complex_pow part), r56649, r56652, r56715, r57296, r57302, r57359, r57361,
r57372, r57738, r57739, r58017, r58039, r58040, and r59390, and new
documentation. The only significant difference is that round(x) returns a float
to preserve backward-compatibility. See http://bugs.python.org/issue1689 .
2008-01-03 02:21:52 +00:00
Guido van Rossum
e227263a6c
Shut up a compiler warning.
2007-12-03 22:02:10 +00:00
Guido van Rossum
715ec1818d
Patch # 1507 by Mark Dickinson. Make complex(x, -0) retain the sign of
...
the imaginary part (as long as it's not complex).
Backport candidate?
2007-11-27 22:38:36 +00:00
Brett Cannon
0153159e67
Add a bunch of GIL release/acquire points in tp_print implementations and for
...
PyObject_Print().
Closes issue #1164 .
2007-09-17 03:28:34 +00:00
Martin v. Löwis
6819210b9e
PEP 3123: Provide forward compatibility with Python 3.0, while keeping
...
backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and
PyVarObject_HEAD_INIT.
2007-07-21 06:55:02 +00:00
Georg Brandl
2b869943fa
Patch #1675423 : PyComplex_AsCComplex() now tries to convert an object
...
to complex using its __complex__() method before falling back to the
__float__() method. Therefore, the functions in the cmath module now
can operate on objects that define a __complex__() method.
(backport)
2007-03-17 16:08:45 +00:00
Georg Brandl
8f032cbb05
Patch #1642844 : comments to clarify the complexobject constructor.
2007-03-13 07:57:51 +00:00
Collin Winter
e38051db87
Patch #1491866 : change the complex() constructor to allow parthensized forms. This means complex(repr(x)) now works instead of raising a ValueError.
2007-03-09 20:33:07 +00:00
Neal Norwitz
0593de32d9
Fix SF #1676971 , Complex OverflowError has a typo
2007-03-09 05:59:01 +00:00
Neal Norwitz
4b0a315c31
Use sizeof(buffer) instead of duplicating the constants to ensure they won't
...
be wrong.
The real change is to pass (bufsz - 1) to PyOS_ascii_formatd and 1
to strncat. strncat copies n+1 bytes from src (not dest).
Reported by Klocwork #58 .
2006-07-16 02:22:30 +00:00
Georg Brandl
6b50c63a23
Correctly allocate complex types with tp_alloc. (bug #1498638 )
2006-06-01 08:27:32 +00:00
Skip Montanaro
429433b30b
C++ compiler cleanup: bunch-o-casts, plus use of unsigned loop index var in a couple places
2006-04-18 00:35:43 +00:00
Georg Brandl
347b30042b
Remove unnecessary casts in type object initializers.
2006-03-30 11:57:00 +00:00