summaryrefslogtreecommitdiffstats
path: root/Modules/itertoolsmodule.c
Commit message (Collapse)AuthorAgeFilesLines
* bpo-35444: Unify and optimize the helper for getting a builtin object. ↵Serhiy Storchaka2018-12-111-1/+2
| | | | | | | | (GH-11047) This speeds up pickling of some iterators. This fixes also error handling in pickling methods when fail to look up builtin "getattr".
* bpo-34659: Adds initial kwarg to itertools.accumulate() (GH-9345)Lisa Roach2018-09-241-3/+29
|
* bpo-20180: convert most of itertoolsmodule.c to use Argument Clinic (GH-9164)Tal Einat2018-09-111-218/+245
|
* bpo-20180: itertools.groupby Argument Clinic conversion (GH-4170)Tal Einat2018-09-101-23/+41
|
* bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. ↵Siddhesh Poyarekar2018-04-291-23/+23
| | | | | | | | | (GH-6030) METH_NOARGS functions need only a single argument but they are cast into a PyCFunction, which takes two arguments. This triggers an invalid function cast warning in gcc8 due to the argument mismatch. Fix this by adding a dummy unused argument.
* bpo-32747: Remove trailing spaces in docstrings. (GH-5491)oldk2018-02-021-5/+5
|
* bpo-32571: Avoid raising unneeded AttributeError and silencing it in C code ↵Serhiy Storchaka2018-01-251-6/+4
| | | | | (GH-5222) Add two new private APIs: _PyObject_LookupAttr() and _PyObject_LookupAttrId()
* bpo-31572: Silence only AttributeError when get the __copy__ attribute in ↵Serhiy Storchaka2017-11-111-7/+25
| | | | itertools.tee(). (#3724)
* bpo-30347: Stop crashes when concurrently iterate over itertools.groupby() ↵Serhiy Storchaka2017-09-261-36/+31
| | | | iterators. (#1557)
* bpo-27385: Clarify docstring for groupby() (#3738)Raymond Hettinger2017-09-251-2/+3
|
* bpo-30346: An iterator produced by the itertools.groupby() iterator (#1569)Serhiy Storchaka2017-09-241-0/+8
| | | now becames exhausted after advancing the groupby iterator.
* bpo-27541: Reprs of subclasses of some classes now contain actual type name. ↵Serhiy Storchaka2017-09-211-6/+13
| | | | | (#3631) Affected classes are bytearray, array, deque, defaultdict, count and repeat.
* bpo-31497: Add private helper _PyType_Name(). (#3630)Serhiy Storchaka2017-09-171-4/+3
| | | | This function returns the last component of tp_name after a dot. Returns tp_name itself if it doesn't contain a dot.
* bpo-30592: Fixed error messages for some builtins. (#1996)Serhiy Storchaka2017-06-081-7/+7
| | | | | Error messages when pass keyword arguments to some builtins that don't support keyword arguments contained double parenthesis: "()()". The regression was introduced by bpo-30534.
* bpo-30537: use PyNumber in itertools.islice instead of PyLong (#1918)Will Roberts2017-06-081-4/+4
| | | | | | | | * bpo-30537: use PyNumber in itertools instead of PyLong * bpo-30537: revert changes except to islice_new * bpo-30537: test itertools.islice and add entry to Misc/NEWS
* bpo-30061: Check if PyObject_Size()/PySequence_Size()/PyMapping_Size() (#1096)Serhiy Storchaka2017-04-191-1/+2
| | | | | | raised an error. Replace them with using concrete types API that never fails if appropriate.
* bpo-29942: Fix the use of recursion in itertools.chain.from_iterable. (#889)T. Wouters2017-03-301-24/+28
| | | | | Fix the use of recursion in itertools.chain.from_iterable. Using recursion is unnecessary, and can easily cause stack overflows, especially when building in low optimization modes or with Py_DEBUG enabled.
* bpo-29878: Add global instances of int for 0 and 1. (#852)Serhiy Storchaka2017-03-301-13/+5
|
* bpo-29865: Use PyXXX_GET_SIZE macros rather than Py_SIZE for concrete types. ↵Serhiy Storchaka2017-03-211-2/+2
| | | | (#748)
* Issue #28959: Added private macro PyDict_GET_SIZE for retrieving the size of ↵Serhiy Storchaka2016-12-161-3/+3
| | | | dict.
* Backed out changeset b9c9691c72c5Victor Stinner2016-12-041-5/+5
| | | | | | Issue #28858: The change b9c9691c72c5 introduced a regression. It seems like _PyObject_CallArg1() uses more stack memory than PyObject_CallFunctionObjArgs().
* Replace PyObject_CallFunctionObjArgs() with fastcallVictor Stinner2016-12-011-5/+5
| | | | | | | | | | | | | | * 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.
* Issue #28322: Fixed possible crashes when unpickle itertools objects fromSerhiy Storchaka2016-10-021-6/+34
|\ | | | | | | incorrect pickle data. Based on patch by John Leitch.
| * Issue #28322: Fixed possible crashes when unpickle itertools objects fromSerhiy Storchaka2016-10-021-5/+35
| | | | | | | | incorrect pickle data. Based on patch by John Leitch.
* | Issue #28019: itertools.count() no longer rounds non-integer step in rangeSerhiy Storchaka2016-09-101-16/+29
|\ \ | |/ | | | | between 1.0 and 2.0 to 1.
| * Issue #28019: itertools.count() no longer rounds non-integer step in rangeSerhiy Storchaka2016-09-101-16/+29
| | | | | | | | between 1.0 and 2.0 to 1.
* | Issue #27626: Merge spelling fixes from 3.5Martin Panter2016-07-281-1/+1
|\ \ | |/
| * Issue #27626: Spelling fixes in docs, comments and internal namesMartin Panter2016-07-281-1/+1
| | | | | | | | Based on patch by Ville Skyttä.
* | Issue #26778: Fixed "a/an/and" typos in code comment, documentation and errorSerhiy Storchaka2016-04-171-1/+1
|\ \ | |/ | | | | messages.
| * Issue #26778: Fixed "a/an/and" typos in code comment and documentation.Serhiy Storchaka2016-04-171-1/+1
| |
* | Issue #26200: Added Py_SETREF and replaced Py_XSETREF with Py_SETREFSerhiy Storchaka2016-04-101-2/+2
|\ \ | |/ | | | | in places where Py_DECREF was used.
| * Issue #26200: Added Py_SETREF and replaced Py_XSETREF with Py_SETREFSerhiy Storchaka2016-04-101-1/+1
| | | | | | | | in places where Py_DECREF was used.
* | Issue #22570: Renamed Py_SETREF to Py_XSETREF.Serhiy Storchaka2016-04-061-18/+18
|\ \ | |/
| * Issue #22570: Renamed Py_SETREF to Py_XSETREF.Serhiy Storchaka2016-04-061-14/+14
| |
* | Issue #25718: Fixed pickling and copying the accumulate() iterator with ↵Serhiy Storchaka2016-03-061-0/+17
|\ \ | |/ | | | | total is None.
| * Issue #25718: Fixed pickling and copying the accumulate() iterator with ↵Serhiy Storchaka2016-03-061-0/+17
| | | | | | | | total is None.
* | merge 3.5Benjamin Peterson2016-01-011-2/+0
|\ \ | |/
| * merge 3.4Benjamin Peterson2016-01-011-2/+0
| |\
| | * merge 3.3Benjamin Peterson2016-01-011-2/+0
| | |\
| | | * remove some copyright notices supserseded by the toplevel onesBenjamin Peterson2016-01-011-2/+0
| | | |
* | | | Issue #20440: Cleaning up the code by using Py_SETREF and Py_CLEAR.Serhiy Storchaka2015-12-271-16/+6
| | | | | | | | | | | | | | | | | | | | Old code is correct, but with Py_SETREF and Py_CLEAR it can be cleaner. This patch doesn't fix bugs and hence there is no need to backport it.
* | | | Issue #20440: Applied yet one patch for using Py_SETREF.Serhiy Storchaka2015-12-271-34/+21
|\ \ \ \ | |/ / / | | | | | | | | The patch is automatically generated, it replaces the code that uses Py_CLEAR.
| * | | Issue #20440: Applied yet one patch for using Py_SETREF.Serhiy Storchaka2015-12-271-35/+22
| | | | | | | | | | | | | | | | The patch is automatically generated, it replaces the code that uses Py_CLEAR.
* | | | Issue #20440: Massive replacing unsafe attribute setting code with specialSerhiy Storchaka2015-12-241-2/+1
|\ \ \ \ | |/ / / | | | | | | | | macro Py_SETREF.
| * | | Issue #20440: Massive replacing unsafe attribute setting code with specialSerhiy Storchaka2015-12-241-2/+1
| | | | | | | | | | | | | | | | macro Py_SETREF.
* | | | Issue #25421: __sizeof__ methods of builtin types now use dynamic basic size.Serhiy Storchaka2015-12-191-4/+4
|\ \ \ \ | |/ / / | | | | | | | | | | | | This allows sys.getsize() to work correctly with their subclasses with __slots__ defined.
| * | | Issue #25421: __sizeof__ methods of builtin types now use dynamic basic size.Serhiy Storchaka2015-12-191-4/+4
| | | | | | | | | | | | | | | | | | | | This allows sys.getsize() to work correctly with their subclasses with __slots__ defined.
* | | | Issue #25523: Merge a-to-an corrections from 3.5.Serhiy Storchaka2015-11-021-1/+1
|\ \ \ \ | |/ / /
| * | | Issue #25523: Merge a-to-an corrections from 3.4.Serhiy Storchaka2015-11-021-1/+1
| |\ \ \ | | |/ /
| | * | Issue #25523: Further a-to-an corrections.Serhiy Storchaka2015-11-021-1/+1
| | | |