Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Moved SunPro warning suppression into pyport.h and out of individual | Nicholas Bastin | 2004-07-15 | 1 | -4/+0 |
| | | | | modules and objects. | ||||
* | Fixed end-of-loop code not reached warning when using SunPro C | Nicholas Bastin | 2004-06-17 | 1 | -0/+4 |
| | |||||
* | Remove a function no longer in use. | Raymond Hettinger | 2004-06-14 | 1 | -8/+0 |
| | |||||
* | Remove unnecessary GC support. Sets cannot have cycles. | Raymond Hettinger | 2004-06-13 | 1 | -16/+7 |
| | |||||
* | Futher improvements to frozenset hashing (based on Yitz Gale's battery of | Raymond Hettinger | 2004-06-10 | 1 | -8/+10 |
| | | | | | | | | | | | | | tests which nicely highly highlight weaknesses). * Initial value is now a large prime. * Pre-multiply by the set length to add one more basis of differentiation. * Work a bit harder inside the loop to scatter bits from sources that may have closely spaced hash values. All of this is necessary to make up for keep the hash function commutative. Fortunately, the hash value is cached so the call to frozenset_hash() will only occur once per set. | ||||
* | Fixups to the hash function for frozensets. | Raymond Hettinger | 2004-06-10 | 1 | -1/+4 |
| | | | | | | * Non-zero initial value so that hash(frozenset()) != hash(0). * Final permutation to differentiate nested sets. * Add logic to make sure that -1 is not a possible hash value. | ||||
* | Make sets and deques weak referencable. | Raymond Hettinger | 2004-05-30 | 1 | -4/+8 |
| | |||||
* | The copy module now handles sets directly. The __copy__ methods are no | Raymond Hettinger | 2004-03-08 | 1 | -4/+0 |
| | | | | longer needed. | ||||
* | * Simplify and speedup logic for tp_print. | Raymond Hettinger | 2003-12-31 | 1 | -15/+29 |
| | | | | * Speed-up intersection whenever PyDict_Next can be used. | ||||
* | Speedup set.update by using the override mode for PyDict_Merge(). | Raymond Hettinger | 2003-12-15 | 1 | -1/+1 |
| | |||||
* | Improve algorithm for set.difference when the input is not a set. | Raymond Hettinger | 2003-12-15 | 1 | -43/+43 |
| | |||||
* | * Refactor set.__contains__() | Raymond Hettinger | 2003-12-13 | 1 | -21/+10 |
| | | | | | * Use Py_RETURN_NONE everywhere. * Fix-up the firstpass check for the tp_print slot. | ||||
* | Refactor set.discard() and set.remove(). | Raymond Hettinger | 2003-12-13 | 1 | -31/+22 |
| | |||||
* | Use dictionary specific looping idiom where possible. | Raymond Hettinger | 2003-12-13 | 1 | -114/+40 |
| | | | | Simplifies and speeds-up the code. | ||||
* | * Added a new method flag, METH_COEXIST. | Raymond Hettinger | 2003-12-13 | 1 | -0/+26 |
| | | | | | * Used the flag to optimize set.__contains__(), dict.__contains__(), dict.__getitem__(), and list.__getitem__(). | ||||
* | Expose dict_contains() and PyDict_Contains() with is about 10% faster | Raymond Hettinger | 2003-11-25 | 1 | -9/+9 |
| | | | | | | | than PySequence_Contains() and more clearly applicable to dicts. Apply the new function in setobject.c where __contains__ checking is ubiquitous. | ||||
* | Factor out more duplicate code. | Raymond Hettinger | 2003-11-24 | 1 | -77/+51 |
| | |||||
* | Stop GCC warning about int literal that's so long that it becomes an | Guido van Rossum | 2003-11-24 | 1 | -1/+1 |
| | | | | | unsigned int (on a 32-bit machine), by adding an explicit 'u' to the literal (a prime used to improve the hash function for frozenset). | ||||
* | * Checkin remaining documentation | Raymond Hettinger | 2003-11-24 | 1 | -137/+148 |
| | | | | | | | * Add more tests * Refactor and neaten the code a bit. * Rename union_update() to update(). * Improve the algorithms (making them a closer to sets.py). | ||||
* | * Simplify hash function and add test to show effectiveness of the hash | Raymond Hettinger | 2003-11-23 | 1 | -14/+26 |
| | | | | | | | | | | | | | | | function. * Add a better test for deepcopying. * Add tests to show the __init__() function works like it does for list and tuple. Add related test. * Have shallow copies of frozensets return self. Add related test. * Have frozenset(f) return f if f is already a frozenset. Add related test. * Beefed-up some existing tests. | ||||
* | Extend temporary hashability to remove() and discard(). | Raymond Hettinger | 2003-11-22 | 1 | -11/+52 |
| | | | | Brings the functionality back in line with sets.py. | ||||
* | Allow temporary hashability for the __contains__ test. | Raymond Hettinger | 2003-11-21 | 1 | -1/+17 |
| | | | | (Requested by Alex Martelli.) | ||||
* | issubset() and issuperset() to work with general iterables | Raymond Hettinger | 2003-11-21 | 1 | -5/+15 |
| | |||||
* | Three minor performance improvements: | Raymond Hettinger | 2003-11-20 | 1 | -12/+41 |
| | | | | | | | | | | * Improve the hash function to increase the chance that distinct sets will have distinct xor'd hash totals. * Use PyDict_Merge where possible (it is faster than an equivalent iter/set pair). * Don't rebuild dictionaries where the input already has one. | ||||
* | Implement straightforward suggestions from gcc warnings (remove unused | Guido van Rossum | 2003-11-18 | 1 | -3/+2 |
| | | | | variable, add extra braces). | ||||
* | Use PySequence_Contains() instead of direct access macro. | Raymond Hettinger | 2003-11-18 | 1 | -11/+5 |
| | |||||
* | Various fixups (most suggested by Armin Rigo). | Raymond Hettinger | 2003-11-17 | 1 | -40/+66 |
| | |||||
* | Fix output spacing typo | Raymond Hettinger | 2003-11-16 | 1 | -1/+1 |
| | |||||
* | * Migrate set() and frozenset() from the sandbox. | Raymond Hettinger | 2003-11-16 | 1 | -0/+1073 |
* Install the unittests, docs, newsitem, include file, and makefile update. * Exercise the new functions whereever sets.py was being used. Includes the docs for libfuncs.tex. Separate docs for the types are forthcoming. |