Martin Panter
eeb896c411
Issue #24802 : Copy bytes-like objects to null-terminated buffers if necessary
...
This avoids possible buffer overreads when int(), float(), compile(), exec()
and eval() are passed bytes-like objects. Similar code is removed from the
complex() constructor, where it was not reachable.
Patch by John Leitch, Serhiy Storchaka and Martin Panter.
2015-11-07 02:32:21 +00:00
Serhiy Storchaka
3dd3e26680
Issue #22896 : Avoid to use PyObject_AsCharBuffer(), PyObject_AsReadBuffer()
...
and PyObject_AsWriteBuffer().
2015-02-03 01:25:42 +02:00
Serhiy Storchaka
4fdb68491e
Issue #22896 : Avoid to use PyObject_AsCharBuffer(), PyObject_AsReadBuffer()
...
and PyObject_AsWriteBuffer().
2015-02-03 01:21:08 +02:00
Antoine Pitrou
759920c5cb
Issue #22604 : Fix assertion error in debug mode when dividing a complex number by (nan+0j).
2014-10-10 23:51:04 +02:00
Antoine Pitrou
9086f9260f
Issue #22604 : Fix assertion error in debug mode when dividing a complex number by (nan+0j).
2014-10-10 23:49:32 +02:00
Antoine Pitrou
1eee8e5207
Issue #21803 : remove macro indirections in complexobject.h
2014-07-07 18:49:30 -04:00
Christian Heimes
d3afe781b1
Silence expression result unused warnings with clang.
...
The PyObject_INIT() macros returns obj:
../cpython/Objects/methodobject.c:32:23: warning: expression result unused [-Wunused-value]
PyObject_INIT(op, &PyCFunction_Type);
^~
../cpython/Include/objimpl.h:139:69: note: expanded from macro 'PyObject_INIT'
( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) )
^
1 warning generated.
2013-12-04 09:27:47 +01:00
Ezio Melotti
a5b9599538
#17080 : improve error message of float/complex when the wrong type is passed.
2013-11-07 19:18:34 +02:00
Ezio Melotti
c1ae254717
#19068 : merge with 3.3.
2013-10-06 00:39:44 +03:00
Ezio Melotti
488d244e1a
#19068 : use imperative mood in complex object docstrings. Patch by Marco Buttu.
2013-10-06 00:39:18 +03:00
Antoine Pitrou
9ed5f27266
Issue #18722 : Remove uses of the "register" keyword in C code.
2013-08-13 20:18:52 +02:00
Victor Stinner
8f674ccd64
Close #17694 : Add minimum length to _PyUnicodeWriter
...
* Add also min_char attribute to _PyUnicodeWriter structure (currently unused)
* _PyUnicodeWriter_Init() has no more argument (except the writer itself):
min_length and overallocate must be set explicitly
* In error handlers, only enable overallocation if the replacement string
is longer than 1 character
* CJK decoders don't use overallocation anymore
* Set min_length, instead of preallocating memory using
_PyUnicodeWriter_Prepare(), in many decoders
* _PyUnicode_DecodeUnicodeInternal() checks for integer overflow
2013-04-17 23:02:17 +02:00
Mark Dickinson
d20fb82195
Issue #16290 : __complex__ must now always return an instance of complex.
2012-11-14 17:08:31 +00:00
Victor Stinner
d3f0882dfb
Issue #14744 : Use the new _PyUnicodeWriter internal API to speed up str%args and str.format(args)
...
* Formatting string, int, float and complex use the _PyUnicodeWriter API. It
avoids a temporary buffer in most cases.
* Add _PyUnicodeWriter_WriteStr() to restore the PyAccu optimization: just
keep a reference to the string if the output is only composed of one string
* Disable overallocation when formatting the last argument of str%args and
str.format(args)
* Overallocation allocates at least 100 characters: add min_length attribute
to the _PyUnicodeWriter structure
* Add new private functions: _PyUnicode_FastCopyCharacters(),
_PyUnicode_FastFill() and _PyUnicode_FromASCII()
The speed up is around 20% in average.
2012-05-29 12:57:52 +02:00
Benjamin Peterson
ce79852077
use the static identifier api for looking up special methods
...
I had to move the static identifier code from unicodeobject.h to object.h in
order for this to work.
2012-01-22 11:24:29 -05:00
Martin v. Löwis
d63a3b8beb
Implement PEP 393.
2011-09-28 07:41:54 +02:00
Brian Curtin
dfc80e3d97
Replace Py_NotImplemented returns with the macro form Py_RETURN_NOTIMPLEMENTED.
...
The macro was introduced in #12724 .
2011-08-10 20:28:54 -05:00
Victor Stinner
6ced7c4333
Issue #10833 : Use PyErr_Format() and PyUnicode_FromFormat() instead of
...
PyOS_snprintf() to avoid temporary buffer allocated on the stack and a
conversion from bytes to Unicode.
2011-03-21 18:15:42 +01:00
Eric Smith
70099a1555
Removed static function complex_format, moved it into complex_repr. Modified tests to check both str and repr, which are the same for complex.
2010-12-04 13:27:34 +00:00
Alexander Belopolsky
942af5a9a4
Issue #10557 : Fixed error messages from float() and other numeric
...
types. Added a new API function, PyUnicode_TransformDecimalToASCII(),
which transforms non-ASCII decimal digits in a Unicode string to their
ASCII equivalents.
2010-12-04 03:38:46 +00:00
Victor Stinner
f961377e99
#6780 : fix complex() constructor TypeError message
2010-12-03 16:51:33 +00:00
Benjamin Peterson
8035bc5c04
follow up to #9778 : define and use an unsigned hash type
2010-10-23 16:20:50 +00:00
Benjamin Peterson
8f67d0893f
make hashes always the size of pointers; introduce Py_hash_t #9778
2010-10-17 20:54:53 +00:00
Mark Dickinson
388122d43b
Issue #9337 : Make float.__str__ identical to float.__repr__.
...
(And similarly for complex numbers.)
2010-08-04 20:56:28 +00:00
Mark Dickinson
dc787d2055
Issue #8188 : Introduce a new scheme for computing hashes of numbers
...
(instances of int, float, complex, decimal.Decimal and
fractions.Fraction) that makes it easy to maintain the invariant that
hash(x) == hash(y) whenever x and y have equal value.
2010-05-23 13:33:13 +00:00
Mark Dickinson
cc6a982de8
Issue #8748 : Fix two issues with comparisons between complex and integer
...
objects. (1) The comparison could incorrectly return True in some cases
(2**53+1 == complex(2**53) == 2**53), breaking transivity of equality.
(2) The comparison raised an OverflowError for large integers, leading
to unpredictable exceptions when combining integers and complex objects
in sets or dicts.
Patch by Meador Inge.
2010-05-21 14:55:26 +00:00
Antoine Pitrou
f95a1b3c53
Recorded merge of revisions 81029 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r81029 | antoine.pitrou | 2010-05-09 16:46:46 +0200 (dim., 09 mai 2010) | 3 lines
Untabify C files. Will watch buildbots.
........
2010-05-09 15:52:27 +00:00
Mark Dickinson
f673f0c40c
Issue #7845 : Make 1j.__le__(2j) return NotImplemented rather than raising TypeError.
2010-03-13 09:48:39 +00:00
Ezio Melotti
50363262b2
Merged revisions 78319 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r78319 | ezio.melotti | 2010-02-22 18:30:58 +0200 (Mon, 22 Feb 2010) | 1 line
#7482 : clarify error message in case of division by zero of float and complex numbers.
........
2010-02-22 16:34:50 +00:00
Benjamin Peterson
aea4428fdc
Merged revisions 77292-77293 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r77292 | benjamin.peterson | 2010-01-03 18:43:01 -0600 (Sun, 03 Jan 2010) | 1 line
do correct lookup of the __complex__ method
........
r77293 | benjamin.peterson | 2010-01-03 19:00:47 -0600 (Sun, 03 Jan 2010) | 1 line
factor out __complex__ lookup code to fix another case
........
2010-01-04 01:10:28 +00:00
Mark Dickinson
a4962cb694
Merged revisions 76561 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r76561 | mark.dickinson | 2009-11-28 12:30:36 +0000 (Sat, 28 Nov 2009) | 5 lines
Include ieeefp.h (when available) in pyport.h instead of individually in
Objects/floatobject.c and Objects/complexobject.c. This should silence
compiler warnings about implicit declaration of the 'finite' function
on Solaris.
........
2009-11-28 12:35:42 +00:00
Mark Dickinson
1daebdf82c
Make sure memory is freed on error in complex_subtype_from_string.
2009-10-26 22:05:06 +00:00
Mark Dickinson
f972488213
Remove length limitation on string arguments to complex()
2009-10-26 21:51:18 +00:00
Skip Montanaro
ba1e0f46ab
Issue 7147 - remove ability to attempt to build Python without complex number support (was broken anyway)
2009-10-18 14:25:35 +00:00
Mark Dickinson
6b1e43b7bc
Issue #5829 : complex('1e500') shouldn't raise OverflowError
2009-05-20 18:41:04 +00:00
Mark Dickinson
578cc749ab
Merged revisions 72718 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r72718 | mark.dickinson | 2009-05-17 11:38:30 +0100 (Sun, 17 May 2009) | 4 lines
Issue #6044 : remove confusing wording from complex -> integer and
complex -> float conversion error messages.
........
2009-05-17 10:40:10 +00:00
Eric Smith
63376228a3
Issue #5920 : Changed format.__float__ and complex.__float__ to use a precision of 12 when using the empty presentation type. This more closely matches str()'s behavior and reduces surprises when adding alignment flags to an empty format string. Patch by Mark Dickinson.
2009-05-05 14:04:18 +00:00
Mark Dickinson
aa77d26009
Merged revisions 72253 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r72253 | mark.dickinson | 2009-05-03 21:59:48 +0100 (Sun, 03 May 2009) | 2 lines
Eliminate some locale-dependent calls to isspace and tolower.
........
2009-05-03 21:07:13 +00:00
Mark Dickinson
725bfd8489
Issue #5914 : Add new C-API function PyOS_string_to_double, to complement
...
PyOS_double_to_string, and deprecate PyOS_ascii_strtod and PyOS_ascii_atof.
2009-05-03 20:33:40 +00:00
Eric Smith
58a42244cf
Issue #1588 : Add complex.__format__.
2009-04-30 01:00:33 +00:00
Mark Dickinson
35f1c9470a
Merged revisions 71963 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r71963 | mark.dickinson | 2009-04-26 15:00:08 +0100 (Sun, 26 Apr 2009) | 2 lines
Reset errno before both calls to PyOS_ascii_strtod, not just one.
........
2009-04-26 14:11:18 +00:00
Mark Dickinson
de8a710849
Merged revisions 71869 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r71869 | mark.dickinson | 2009-04-25 10:47:00 +0100 (Sat, 25 Apr 2009) | 2 lines
Fix typo in complex parsing code; expand tests.
........
2009-04-25 10:11:40 +00:00
Mark Dickinson
6649fa42f8
Make sure that complex parsing code and corresponding tests
...
match for 2.7 and 3.1, and that 3.1 continues to
accept complex('j') and complex('4-j')
2009-04-24 13:25:20 +00:00
Mark Dickinson
ad476dab09
Issue #5816 : Simplify code for parsing and printing of complex numbers.
...
nans and infs are no longer given special treatment; as a result,
repr(complex(z)) recovers z for any complex number z.
2009-04-23 19:14:16 +00:00
Eric Smith
0923d1d8d7
The other half of Issue #1580 : use short float repr where possible.
...
Addresses the float -> string conversion, using David Gay's code which
was added in Mark Dickinson's checkin r71663.
Also addresses these, which are intertwined with the short repr
changes:
- Issue #5772 : format(1e100, '<') produces '1e+100', not '1.0e+100'
- Issue #5515 : 'n' formatting with commas no longer works poorly
with leading zeros.
- PEP 378 Format Specifier for Thousands Separator: implemented
for floats.
2009-04-16 20:16:10 +00:00
Mark Dickinson
e94c679df0
Issue #1717 : rename tp_compare to tp_reserved. I'll change the
...
type of tp_compare in a separate commit, for ease of reversion
should things go wrong.
2009-02-02 20:36:42 +00:00
Mark Dickinson
8055afd019
Issue #4910 , patch 3/3: rename nb_long to nb_reserved
2009-01-17 10:04:45 +00:00
Mark Dickinson
cce2f217d4
Issue 4910, patch 2 of (probably) 3: pave the way for renaming of
...
nb_long: remove last remaining use of nb_long
(in the struct module) from the core, set nb_long slots on all builtin
and extension types to 0, and remove uses of __long__ in test_complex
and test_binop.
Reviewed by Benjamin Peterson.
2009-01-15 19:32:23 +00:00
Benjamin Peterson
4f92ca4022
Remove nb_reserved (nb_coerce), nb_hex, and nb_oct from PyNumberMethods
2008-06-11 20:21:57 +00:00
Georg Brandl
0c77a82c3d
Merged revisions 63829-63831,63858,63865,63879,63882,63948,63970-63972,63976,63989,64014-64015,64021-64022,64063-64065,64067 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r63829 | mark.summerfield | 2008-05-31 15:05:34 +0200 (Sat, 31 May 2008) | 4 lines
Added a note to [] that special forms & special chars lose their meaning
and backrefs can't be used inside []
........
r63830 | georg.brandl | 2008-05-31 16:40:09 +0200 (Sat, 31 May 2008) | 2 lines
#3010 : clarification about stdin/use_rawinput.
........
r63831 | georg.brandl | 2008-05-31 16:45:55 +0200 (Sat, 31 May 2008) | 2 lines
#3005 : add explaining sentence to easydialogs docs.
........
r63858 | georg.brandl | 2008-06-01 18:41:31 +0200 (Sun, 01 Jun 2008) | 2 lines
Add plain text make target.
........
r63865 | georg.brandl | 2008-06-01 21:24:36 +0200 (Sun, 01 Jun 2008) | 2 lines
Spaces vs. tabs.
........
r63879 | gregory.p.smith | 2008-06-02 00:57:47 +0200 (Mon, 02 Jun 2008) | 3 lines
Make the _H #define's match the header file names. Fix comments to
mention the correct type names.
........
r63882 | gregory.p.smith | 2008-06-02 01:48:47 +0200 (Mon, 02 Jun 2008) | 3 lines
Adds a Thread.getIdent() method to provide the _get_ident() value for
any given threading.Thread object. feature request issue 2871.
........
r63948 | alexandre.vassalotti | 2008-06-04 22:41:44 +0200 (Wed, 04 Jun 2008) | 2 lines
Fixed complex.__getnewargs__() to not emit another complex object.
........
r63970 | andrew.kuchling | 2008-06-06 01:33:54 +0200 (Fri, 06 Jun 2008) | 1 line
Document 'utc' parameter
........
r63971 | andrew.kuchling | 2008-06-06 01:35:31 +0200 (Fri, 06 Jun 2008) | 1 line
Add various items
........
r63972 | andrew.kuchling | 2008-06-06 01:35:48 +0200 (Fri, 06 Jun 2008) | 1 line
Grammar fix
........
r63976 | georg.brandl | 2008-06-06 09:34:50 +0200 (Fri, 06 Jun 2008) | 2 lines
Markup fix.
........
r63989 | thomas.heller | 2008-06-06 20:42:11 +0200 (Fri, 06 Jun 2008) | 2 lines
Add a reminder for the maintainer of whatsnew.
........
r64014 | georg.brandl | 2008-06-07 17:59:10 +0200 (Sat, 07 Jun 2008) | 3 lines
Factor out docstring dedenting from inspect.getdoc() into inspect.cleandoc()
to ease standalone use of the algorithm.
........
r64015 | georg.brandl | 2008-06-07 18:04:01 +0200 (Sat, 07 Jun 2008) | 2 lines
Revert unwanted changes.
........
r64021 | georg.brandl | 2008-06-07 20:16:12 +0200 (Sat, 07 Jun 2008) | 2 lines
X-ref to numbers module.
........
r64022 | georg.brandl | 2008-06-07 20:17:37 +0200 (Sat, 07 Jun 2008) | 3 lines
Document the "st" API, to avoid confusion with the "new" AST.
Add a note about using the new AST module.
........
r64063 | martin.v.loewis | 2008-06-10 07:03:35 +0200 (Tue, 10 Jun 2008) | 2 lines
Add Gregor Lingl.
........
r64064 | georg.brandl | 2008-06-10 09:45:28 +0200 (Tue, 10 Jun 2008) | 2 lines
Add the "ast" module, containing helpers to ease use of the "_ast" classes.
........
r64065 | raymond.hettinger | 2008-06-10 09:57:15 +0200 (Tue, 10 Jun 2008) | 1 line
Add Arnaud for his efforts on multi-arg set operations.
........
r64067 | georg.brandl | 2008-06-10 14:46:39 +0200 (Tue, 10 Jun 2008) | 2 lines
#2536 : fix itertools.permutations and itertools.combinations docstrings.
........
2008-06-10 16:37:50 +00:00