summaryrefslogtreecommitdiffstats
path: root/Modules/arraymodule.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove redundant check from arraymodule b_getitem (GH-14676)Disconnect3d2019-07-111-3/+1
| | | | | | | | | | | | The `arraymodule`'s `b_getitem` function returns a `PyLong` converted from `arrayobject`'s array, by dereferencing a pointer to `char`. When the `char` type is `signed char`, the `if (x >= 128) x -= 256;` comparison/code is redundant because a `signed char` will have a value of `[-128, 127]` and so `x` will never be greater or equal than 128. This check was indeed needed for situations where a given compiler would assume `char` being `unsigned char` which would make `x` in `[0, 256]` range. However, the check can be removed if we cast the `ob_item` into a signed char pointer (`signed char*`) instead of `char*`. This PR/commit introduces this change.
* bpo-37547: add _PyObject_CallMethodOneArg (GH-14685)Jeroen Demeyer2019-07-111-1/+1
|
* bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async ↵Jeroen Demeyer2019-05-311-4/+4
| | | | | | | | | (GH-13464) Automatically replace tp_print -> tp_vectorcall_offset tp_compare -> tp_as_async tp_reserved -> tp_as_async
* bpo-36842: Implement PEP 578 (GH-12613)Steve Dower2019-05-231-0/+5
| | | Adds sys.audit, sys.addaudithook, io.open_code, and associated C APIs.
* bpo-36946: Fix possible signed integer overflow when handling slices. (GH-13375)Zackery Spytz2019-05-171-2/+4
| | | | | | | The final addition (cur += step) may overflow, so use size_t for "cur". "cur" is always positive (even for negative steps), so it is safe to use size_t here. Co-Authored-By: Martin Panter <vadmium+py@gmail.com>
* bpo-36285: Fix integer overflow in the array module. (GH-12317)sth2019-03-201-4/+4
|
* bpo-36048: Use __index__() instead of __int__() for implicit conversion if ↵Serhiy Storchaka2019-02-251-1/+1
| | | | | | available. (GH-11952) Deprecate using the __int__() method in implicit conversions of Python numbers to C integers.
* bpo-35489: Use "const Py_UNICODE *" for the Py_UNICODE converter in AC. ↵Serhiy Storchaka2018-12-141-2/+2
| | | | (GH-11150)
* 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-35441: Remove dead and buggy code related to PyList_SetItem(). (GH-11033)Zackery Spytz2018-12-081-3/+8
| | | | | | | | | | In _localemodule.c and selectmodule.c, remove dead code that would cause double decrefs if run. In addition, replace PyList_SetItem() with PyList_SET_ITEM() in cases where a new list is populated and there is no possibility of an error. In addition, check if the list changed size in the loop in array_array_fromlist().
* bpo-32747: Remove trailing spaces in docstrings. (GH-5491)oldk2018-02-021-17/+17
|
* bpo-32571: Avoid raising unneeded AttributeError and silencing it in C code ↵Serhiy Storchaka2018-01-251-4/+3
| | | | | (GH-5222) Add two new private APIs: _PyObject_LookupAttr() and _PyObject_LookupAttrId()
* bpo-32020: arraymodule: Correct missing Py_DECREF in failure case of ↵Mat M2017-11-141-1/+3
| | | | make_array() (#4391)
* bpo-27541: Reprs of subclasses of some classes now contain actual type name. ↵Serhiy Storchaka2017-09-211-2/+4
| | | | | (#3631) Affected classes are bytearray, array, deque, defaultdict, count and repeat.
* bpo-24700: Add a fast path for comparing array.array of equal type (#3009)Adrian Wielgosik2017-08-171-15/+66
|
* bpo-30592: Fixed error messages for some builtins. (#1996)Serhiy Storchaka2017-06-081-1/+1
| | | | | 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.
* Change error message for array methods to use 'array' instead of 'list'. (#1853)Jim Fasarakis-Hilliard2017-05-291-2/+2
|
* Expand the PySlice_GetIndicesEx macro. (#1023)Serhiy Storchaka2017-04-081-5/+6
|
* bpo-29932: Fix small error message typos in arraymodule.c (GH-888)Sylvain2017-03-291-3/+3
|
* bpo-28298: make array 'Q', 'L' and 'I' accept big intables as elements (#570)orenmn2017-03-091-46/+62
|
* Issue #28999: Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE whereverSerhiy Storchaka2017-01-231-16/+8
| | | | possible. Patch is writen with Coccinelle.
* Use _PyObject_CallMethodIdObjArgs()Victor Stinner2016-12-091-1/+1
| | | | | | | | | Issue #28915: Replace _PyObject_CallMethodId() with _PyObject_CallMethodIdObjArgs() in various modules when the format string was only made of "O" formats, PyObject* arguments. _PyObject_CallMethodIdObjArgs() avoids the creation of a temporary tuple and doesn't have to parse a format string.
* Issue #19569: Compiler warnings are now emitted if use most of deprecatedSerhiy Storchaka2016-11-201-2/+2
| | | | functions.
* Issue #28126: Replace Py_MEMCPY with memcpy(). Visual Studio can properly ↵Christian Heimes2016-09-131-2/+2
| | | | optimize memcpy().
* Issue #27570: Merge null pointer fixes from 3.5Martin Panter2016-09-071-8/+16
|\
| * Issue #27570: Avoid zero-length memcpy() calls with null source pointersMartin Panter2016-09-071-8/+16
| |
* | replace PY_LONG_LONG with long longBenjamin Peterson2016-09-061-13/+13
| |
* | require a long long data type (closes #27961)Benjamin Peterson2016-09-061-11/+0
| |
* | Issue #7063: Remove dead code from array slice handlingMartin Panter2016-07-251-47/+8
| | | | | | | | Patch by Chuck.
* | - Issue #27332: Fixed the type of the first argument of module-level functionsSerhiy Storchaka2016-07-071-2/+2
|\ \ | |/ | | | | generated by Argument Clinic. Patch by Petr Viktorin.
| * Issue #27332: Fixed the type of the first argument of module-level functionsSerhiy Storchaka2016-07-071-2/+2
| | | | | | | | generated by Argument Clinic. Patch by Petr Viktorin.
* | Fixed integer overflow in array.buffer_info().Serhiy Storchaka2016-06-231-1/+1
|\ \ | |/
| * Fixed integer overflow in array.buffer_info().Serhiy Storchaka2016-06-231-1/+1
| |
* | Merge typo fixes from 3.5Martin Panter2016-05-081-1/+1
|\ \ | |/
| * Corrections for a/an in code comments and documentationMartin Panter2016-05-081-1/+1
| |
* | Issue #26492: Exhausted iterator of array.array now conforms with the behaviorSerhiy Storchaka2016-03-301-4/+18
| | | | | | | | | | of iterators of other mutable sequences: it lefts exhausted even if iterated array is extended.
* | Issue #25923: Added the const qualifier to static constant arrays.Serhiy Storchaka2015-12-251-9/+9
|/
* Issue #25421: __sizeof__ methods of builtin types now use dynamic basic size.Serhiy Storchaka2015-12-191-1/+1
| | | | | This allows sys.getsize() to work correctly with their subclasses with __slots__ defined.
* PEP 489: Multi-phase extension module initializationNick Coghlan2015-05-231-21/+29
| | | | | | | | | | | | | | | | | | | | | | | Known limitations of the current implementation: - documentation changes are incomplete - there's a reference leak I haven't tracked down yet The leak is most visible by running: ./python -m test -R3:3 test_importlib However, you can also see it by running: ./python -X showrefcount Importing the array or _testmultiphase modules, and then deleting them from both sys.modules and the local namespace shows significant increases in the total number of active references each cycle. By contrast, with _testcapi (which continues to use single-phase initialisation) the global refcounts stabilise after a couple of cycles.
* Issue #24000: Improved Argument Clinic's mapping of converters to legacyLarry Hastings2015-05-081-2/+2
| | | | "format units". Updated the documentation to match.
* Issue #24001: Argument Clinic converters now use accept={type}Larry Hastings2015-05-041-4/+4
| | | | instead of types={'type'} to specify the types the converter accepts.
* Issue #23935: Argument Clinic's understanding of format unitsLarry Hastings2015-04-161-4/+4
| | | | | accepting bytes, bytearrays, and buffers is now consistent with both the documentation and the implementation.
* Issue #23944: Argument Clinic now wraps long impl prototypes at column 78.Larry Hastings2015-04-141-4/+8
|
* Fixed the array module broken in issue #23492.Serhiy Storchaka2015-04-041-15/+4
| | | | | array_array_frombytes() is used in other functions, but it's signature was changed. Closes issue #23866.
* Issue #23501: Argumen Clinic now generates code into separate files by default.Serhiy Storchaka2015-04-031-2/+1
|
* Issue #14203: Remove obsolete support for view==NULL in bytesiobuf_getbuffer()Stefan Krah2015-02-031-2/+5
| | | | and array_buffer_getbuf().
* Issue #22581: Use more "bytes-like object" throughout the docs and comments.Serhiy Storchaka2014-12-051-2/+2
|\
| * Issue #22581: Use more "bytes-like object" throughout the docs and comments.Serhiy Storchaka2014-12-051-2/+2
| |
* | Issue #22615: Argument Clinic now supports the "type" argument for theLarry Hastings2014-10-131-54/+57
| | | | | | | | | | int converter. This permits using the int converter with enums and typedefs.
* | merge 3.4 (closes #22605)Benjamin Peterson2014-10-111-1/+1
|\ \ | |/