cpython/Objects
Raymond Hettinger c978633ec6 Futher improvements to frozenset hashing (based on Yitz Gale's battery of
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.
2004-06-10 22:41:48 +00:00
..
.cvsignore Ignore a bunch of generated files. 2000-05-02 18:34:30 +00:00
abstract.c SF bug #952866: "can't multiply sequence *by* non-int" 2004-05-12 21:35:06 +00:00
boolobject.c - bool() called without arguments now returns False rather than 2003-04-19 18:15:10 +00:00
bufferobject.c Correct code to advance ptr to be well-formed C. 2004-03-25 16:16:28 +00:00
cellobject.c Use new GC API. 2001-08-29 23:54:21 +00:00
classobject.c - When method objects have an attribute that can be satisfied either 2003-11-22 23:55:50 +00:00
cobject.c Make CObjects mutable. Fixes #477441. 2003-10-19 18:30:01 +00:00
complexobject.c Patch #774665: Make Python LC_NUMERIC agnostic. 2004-06-08 18:52:54 +00:00
descrobject.c Use PyDict_Contains() instead of PySequence_Contains(). 2003-12-13 11:58:56 +00:00
dictnotes.txt Fix typos and add some elaborations 2004-03-15 15:52:22 +00:00
dictobject.c Update docstring for dict.update() to match the new realities. 2004-05-28 20:59:21 +00:00
enumobject.c * Add unittests for iterators that report their length 2004-04-12 18:10:01 +00:00
fileobject.c Add weakref support to array.array and file objects. 2004-05-31 00:35:52 +00:00
floatobject.c Patch #774665: Make Python LC_NUMERIC agnostic. 2004-06-08 18:52:54 +00:00
frameobject.c memset() with small memory sizes just kill us. 2004-03-20 21:10:27 +00:00
funcobject.c Intern __name__. 2004-03-23 18:40:15 +00:00
genobject.c Patch #957398: Add public API for Generator Object/Type. 2004-06-01 15:22:42 +00:00
intobject.c Reword message 2004-06-05 19:49:12 +00:00
iterobject.c * Add unittests for iterators that report their length 2004-04-12 18:10:01 +00:00
listobject.c Nits: 2004-05-05 06:28:16 +00:00
listsort.txt Fixed new typos, added a little info about ~sort versus "hint"s. 2002-08-10 07:04:01 +00:00
longobject.c SF patch 703666: Several objects don't decref tmp on failure in subtype_new 2003-06-28 20:04:25 +00:00
methodobject.c * Added a new method flag, METH_COEXIST. 2003-12-13 11:26:12 +00:00
moduleobject.c Remove code that tried to warn about shadowing builtin names after a 2003-07-16 22:04:11 +00:00
object.c Two new public API functions, Py_IncRef and Py_DecRef. Useful for 2004-04-22 17:23:49 +00:00
obmalloc.c whoops, I wanted that commented out by default, will add doc to Misc 2004-06-06 19:21:34 +00:00
rangeobject.c Tidied up the implementations of reversed (including the custom ones 2004-03-10 10:10:42 +00:00
setobject.c Futher improvements to frozenset hashing (based on Yitz Gale's battery of 2004-06-10 22:41:48 +00:00
sliceobject.c SF bug #800796: Difference between hash() and __hash__() 2003-09-05 14:27:30 +00:00
stringobject.c Patch #774665: Make Python LC_NUMERIC agnostic. 2004-06-08 18:52:54 +00:00
structseq.c Removed all uses of the out-of-favor __safe_for_unpickling__ magic 2003-02-01 02:16:37 +00:00
tupleobject.c Add a final permutation step to the tuple hash function. 2004-06-10 18:42:15 +00:00
typeobject.c Get rid of gcc warning. 2004-03-25 16:37:03 +00:00
unicodectype.c - SF #962502: Add two more methods for unicode type; width() and 2004-06-02 16:49:17 +00:00
unicodeobject.c - SF #962502: Add two more methods for unicode type; width() and 2004-06-02 16:49:17 +00:00
unicodetype_db.h - SF #962502: Add two more methods for unicode type; width() and 2004-06-02 16:49:17 +00:00
weakrefobject.c Allocating a new weakref object can cause existing weakref objects for 2004-02-04 23:14:14 +00:00