Serhiy Storchaka
9b6c60cbce
bpo-31979: Simplify transforming decimals to ASCII ( #4336 )
...
in int(), float() and complex() parsers.
This also speeds up parsing non-ASCII numbers by around 20%.
2017-11-13 21:23:48 +02:00
Serhiy Storchaka
e2f92de6a9
Add the const qualifier to "char *" variables that refer to literal strings. ( #4370 )
2017-11-11 13:06:26 +02:00
Serhiy Storchaka
bae6881b42
Update Argument Clinic generated code for bpo-29878. ( #1001 )
2017-04-05 12:00:42 +03:00
Serhiy Storchaka
ba85d69a3e
bpo-29878: Add global instances of int for 0 and 1. ( #852 )
2017-03-30 09:09:41 +03:00
Serhiy Storchaka
671079ef60
bpo-29894: Deprecate returning an instance of complex subclass from __complex__. ( #798 )
...
In a future versions of Python this can be an error.
2017-03-24 21:28:43 +02:00
Serhiy Storchaka
18b250f844
bpo-29793: Convert some builtin types constructors to Argument Clinic. ( #615 )
2017-03-19 08:51:07 +02:00
Mark Dickinson
112ec38c15
bpo-29602: fix signed zero handling in complex constructor. ( #203 )
...
* Fix incorrect handling of signed zeros for complex-related classes.
* Add Misc/NEWS entry.
2017-02-20 20:28:15 +00:00
Victor Stinner
f17c3de263
Use _PyObject_CallNoArg()
...
Replace:
PyObject_CallFunctionObjArgs(callable, NULL)
with:
_PyObject_CallNoArg(callable)
2016-12-06 18:46:19 +01:00
Victor Stinner
de4ae3d486
Backed out changeset b9c9691c72c5
...
Issue #28858 : The change b9c9691c72c5 introduced a regression. It seems like
_PyObject_CallArg1() uses more stack memory than
PyObject_CallFunctionObjArgs().
2016-12-04 22:59:09 +01:00
Victor Stinner
27580c1fb5
Replace PyObject_CallFunctionObjArgs() with fastcall
...
* PyObject_CallFunctionObjArgs(func, NULL) => _PyObject_CallNoArg(func)
* PyObject_CallFunctionObjArgs(func, arg, NULL) => _PyObject_CallArg1(func, arg)
PyObject_CallFunctionObjArgs() allocates 40 bytes on the C stack and requires
extra work to "parse" C arguments to build a C array of PyObject*.
_PyObject_CallNoArg() and _PyObject_CallArg1() are simpler and don't allocate
memory on the C stack.
This change is part of the fastcall project. The change on listsort() is
related to the issue #23507 .
2016-12-01 14:43:22 +01:00
Mark Dickinson
6997946ec4
Issue #28203 : Merge from 3.5
2016-09-24 15:28:34 +01:00
Mark Dickinson
613f8e513c
Issue #28203 : Fix incorrect type in error message from complex(1.0, {2:3}). Patch by Soumya Sharma.
2016-09-24 15:26:36 +01:00
Brett Cannon
a721abac29
Issue #26331 : Implement the parsing part of PEP 515.
...
Thanks to Georg Brandl for the patch.
2016-09-09 14:57:09 -07:00
Martin Panter
61d6e4ae9d
Issue #24802 : Merge null termination fixes from 3.4 into 3.5
2015-11-07 02:56:11 +00:00
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