summaryrefslogtreecommitdiffstats
path: root/Objects/setobject.c
Commit message (Collapse)AuthorAgeFilesLines
* bpo-1621: Avoid signed integer overflow in set_table_resize(). (GH-9059) ↵Miss Islington (bot)2018-10-191-8/+3
| | | | | | | | | (GH-9199) Address a C undefined behavior signed integer overflow issue in set object table resizing. Our -fwrapv compiler flag and practical reasons why sets are unlikely to get this large should mean this was never an issue but it was incorrect code that generates code analysis warnings. (cherry picked from commit 6c7d67ce83a62b5f0fe5c53a6df602827451bf7f) Co-authored-by: Sergey Fedoseev <fedoseev.sergey@gmail.com>
* bpo-33391: Fix refleak in set_symmetric_difference (GH-6670)Miss Islington (bot)2018-05-021-1/+3
| | | | | (cherry picked from commit 491bbedc209fea314a04cb3015da68fb0aa63238) Co-authored-by: lekma <lekmalek@gmail.com>
* Removed unnecesssary bit inversion which doesn't improve dispersion ↵Miss Islington (bot)2018-01-181-1/+1
| | | | | statistics (GH-5235) (#5236) (cherry picked from commit fa7880604191f81cbdddc191216f7b1e39a74d8d)
* bpo-26163: Frozenset hash improvement (GH-5194) (#5198)Miss Islington (bot)2018-01-161-0/+1
| | | (cherry picked from commit b44c5169f64178d2ff2914187b315549e7ab0cb6)
* bpo-31095: fix potential crash during GC (GH-3195)INADA Naoki2017-09-041-0/+3
| | | (cherry picked from commit a6296d34a478b4f697ea9db798146195075d496c)
* bpo-30061: Check if PyObject_Size()/PySequence_Size()/PyMapping_Size() ↵Serhiy Storchaka2017-04-191-3/+9
| | | | | | | (#1096) (#1180) raised an error. (cherry picked from commit bf623ae8843dc30b28c574bec8d29fc14be59d86)
* bpo-29949: Fix set memory usage regression (GH-945)INADA Naoki2017-04-011-6/+5
| | | | | | Revert "Minor factoring: move redundant resize scaling logic into the resize function." This reverts commit 4897300276d870f99459c82b937f0ac22450f0b6. (cherry picked from commit e82cf8675bacd7a03de508ed11865fc2701dcef5)
* Replaced outdated macros _PyUnicode_AsString and _PyUnicode_AsStringAndSizeSerhiy Storchaka2016-11-201-1/+1
| | | | with PyUnicode_AsUTF8 and PyUnicode_AsUTF8AndSize.
* Issue #28071: Add early-out for differencing from an empty set.Raymond Hettinger2016-09-121-0/+8
|
* Removed unused initialization and the uninteresting comment.Raymond Hettinger2016-04-291-2/+1
|
* Issue #26880: Removed redundant checks in set.__init__.Serhiy Storchaka2016-04-291-3/+1
|
* Issue #26494: Fixed crash on iterating exhausting iterators.Serhiy Storchaka2016-03-301-1/+1
|\ | | | | | | | | | | Affected classes are generic sequence iterators, iterators of str, bytes, bytearray, list, tuple, set, frozenset, dict, OrderedDict, corresponding views and os.scandir() iterator.
| * Issue #26494: Fixed crash on iterating exhausting iterators.Serhiy Storchaka2016-03-301-1/+1
| | | | | | | | | | | | Affected classes are generic sequence iterators, iterators of str, bytes, bytearray, list, tuple, set, frozenset, dict, OrderedDict, corresponding views and os.scandir() iterator.
* | Moved misplaced functions to the section for C API functions.Raymond Hettinger2016-03-271-12/+12
| |
* | Responsibility for argument checking belongs in set.__init__() rather than ↵Raymond Hettinger2016-03-261-3/+0
| | | | | | | | | | | | | | set.__new__(). See dict.__new__() and list.__new__() for comparison. Neither of those examine or touch args or kwds. That work is done in the __init__() methods.
* | Speed-up construction of empty sets by approx 12-14%.Raymond Hettinger2016-03-251-2/+3
| |
* | Add early-out for the common case where kwds is NULL (gives 1.1% speedup).Raymond Hettinger2016-02-041-2/+3
| |
* | merge 3.5Benjamin Peterson2016-01-011-3/+0
|\ \ | |/
| * merge 3.4Benjamin Peterson2016-01-011-3/+0
| |\
| | * merge 3.3Benjamin Peterson2016-01-011-3/+0
| | |\
| | | * remove some copyright notices supserseded by the toplevel onesBenjamin Peterson2016-01-011-3/+0
| | | |
| | | * Silence compiler warning for an unused declarationRaymond Hettinger2013-08-041-1/+0
| | | |
* | | | 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.
| * | | 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.
* | | | Minor tweek. Counting down rather than up reduces register pressure.Raymond Hettinger2015-12-151-1/+1
| | | |
* | | | Undo inadvertent line swapRaymond Hettinger2015-12-141-1/+1
| | | |
* | | | Hoist constant expressions (so->table and so->mask) out of the inner-loop.Raymond Hettinger2015-12-141-12/+12
| | | |
* | | | Add assertion to verify the pre-condition in the comments.Raymond Hettinger2015-11-181-0/+1
| | | |
* | | | Issue #25629: Move set fill/used updates out of inner loopRaymond Hettinger2015-11-171-7/+8
| | | |
* | | | Move the active entry multiplication to later in the hash calculationRaymond Hettinger2015-08-071-4/+4
| | | |
* | | | Restore frozenset hash caching removed in cf707dd190a9Raymond Hettinger2015-08-071-0/+3
| | | |
* | | | Fix comment typoRaymond Hettinger2015-08-011-1/+1
| | | |
* | | | Tweak the commentsRaymond Hettinger2015-08-011-1/+3
| | | |
* | | | Issue #24762: Speed-up frozenset_hash() and greatly beef-up the comments.Raymond Hettinger2015-08-011-27/+43
| | | |
* | | | Issue #24681: Move the most likely test first in set_add_entry().Raymond Hettinger2015-07-311-6/+9
| | | |
* | | | Issue #24681: Move the store of so->table to the code block where it is used.Raymond Hettinger2015-07-231-7/+10
| | | |
* | | | Issue #24583: Consolidate previous set object updates into a single functionRaymond Hettinger2015-07-201-19/+20
| | | | | | | | | | | | | | | | | | | | | | | | with a single entry point, named exit points at the bottom, more self-evident refcount adjustments, and a comment describing why the pre-increment was necessary at all.
* | | | Issue #24583: Fix refcount leak.Raymond Hettinger2015-07-201-1/+5
| | | |
* | | | Issue #24583: Fix crash when set is mutated while being updated.Raymond Hettinger2015-07-161-5/+13
| | | |
* | | | mergeRaymond Hettinger2015-07-161-1/+2
|\ \ \ \ | |/ / /
| * | | Issue #24583: Fix crash when set is mutated while being updated.Raymond Hettinger2015-07-161-1/+2
| | | |
| * | | Reverting my previous commit.Yury Selivanov2015-05-301-104/+41
| | | | | | | | | | | | | | | | Something went horribly wrong when I was doing `hg rebase`.
* | | | Neaten-up a little bit.Raymond Hettinger2015-07-081-3/+3
| | | |
* | | | Issue 24581: Revert c9782a9ac031 pending a stronger test for mutation during ↵Raymond Hettinger2015-07-071-13/+22
| | | | | | | | | | | | | | | | iteration.
* | | | Minor bit of factoring-out common code.Raymond Hettinger2015-07-071-18/+11
| | | |
* | | | Tighten-up code in the set iterator to use an entry pointer rather than ↵Raymond Hettinger2015-07-071-22/+13
| | | | | | | | | | | | | | | | indexing.
* | | | Tighten-up code in set_next() to use an entry pointer rather than indexing.Raymond Hettinger2015-07-061-5/+7
| | | |
* | | | Bring related functions add/contains/discard together in the code.Raymond Hettinger2015-07-051-40/+34
| | | |
* | | | Change add/contains/discard calls to pass the key and hash instead of an ↵Raymond Hettinger2015-07-051-52/+42
| | | | | | | | | | | | | | | | entry struct.
* | | | Clean-up call patterns for add/contains/discard to better match the caller's ↵Raymond Hettinger2015-07-051-36/+33
| | | | | | | | | | | | | | | | needs.