cpython/Objects
Fred Drake 13634cf7a4 This patch addresses two main issues: (1) There exist some non-fatal
errors in some of the hash algorithms. For exmaple, in float_hash and
complex_hash a certain part of the value is not included in the hash
calculation. See Tim's, Guido's, and my discussion of this on
python-dev in May under the title "fix float_hash and complex_hash for
64-bit *nix"

(2) The hash algorithms that use pointers (e.g. func_hash, code_hash)
are universally not correct on Win64 (they assume that sizeof(long) ==
sizeof(void*))

As well, this patch significantly cleans up the hash code. It adds the
two function _Py_HashDouble and _PyHash_VoidPtr that the various
hashing routine are changed to use.

These help maintain the hash function invariant: (a==b) =>
(hash(a)==hash(b))) I have added Lib/test/test_hash.py and
Lib/test/output/test_hash to test this for some cases.
2000-06-29 19:17:04 +00:00
..
.cvsignore Ignore a bunch of generated files. 2000-05-02 18:34:30 +00:00
Makefile.in Marc-AAndre Lemburg: add new unicode files 2000-03-10 22:55:40 +00:00
abstract.c Patch from /F: 2000-06-18 18:43:14 +00:00
bufferobject.c Vladimir Marangozov's long-awaited malloc restructuring. 2000-05-03 23:44:39 +00:00
classobject.c This patch addresses two main issues: (1) There exist some non-fatal 2000-06-29 19:17:04 +00:00
cobject.c Vladimir Marangozov's long-awaited malloc restructuring. 2000-05-03 23:44:39 +00:00
complexobject.c This patch addresses two main issues: (1) There exist some non-fatal 2000-06-29 19:17:04 +00:00
dictobject.c part 2 of Neil Schemenauer's GC patches: 2000-06-23 19:37:02 +00:00
fileobject.c Jack Jansen: Moved includes to the top, removed think C support 2000-06-28 20:57:07 +00:00
floatobject.c This patch addresses two main issues: (1) There exist some non-fatal 2000-06-29 19:17:04 +00:00
frameobject.c Vladimir Marangozov's long-awaited malloc restructuring. 2000-05-03 23:44:39 +00:00
funcobject.c This patch addresses two main issues: (1) There exist some non-fatal 2000-06-29 19:17:04 +00:00
intobject.c Replace PyErr_BadArgument() error in PyInt_AsLong() with "an integer 2000-05-09 14:27:48 +00:00
listobject.c part 2 of Neil Schemenauer's GC patches: 2000-06-23 19:37:02 +00:00
longobject.c Trent Mick <trentm@ActiveState.com>: 2000-06-01 18:37:36 +00:00
methodobject.c This patch addresses two main issues: (1) There exist some non-fatal 2000-06-29 19:17:04 +00:00
moduleobject.c Vladimir Marangozov's long-awaited malloc restructuring. 2000-05-03 23:44:39 +00:00
object.c This patch addresses two main issues: (1) There exist some non-fatal 2000-06-29 19:17:04 +00:00
rangeobject.c Thomas Wouters <thomas@xs4all.net>: 2000-06-15 14:50:20 +00:00
sliceobject.c Vladimir Marangozov's long-awaited malloc restructuring. 2000-05-03 23:44:39 +00:00
stringobject.c Fredrik Lundh <effbot@telia.com>: 2000-06-20 15:47:54 +00:00
tupleobject.c part 2 of Neil Schemenauer's GC patches: 2000-06-23 19:37:02 +00:00
typeobject.c American spelling in doc string. 1997-06-02 14:43:07 +00:00
unicodectype.c Marc-Andre Lemburg: 2000-04-11 15:39:02 +00:00
unicodeobject.c Jack Jansen: Use include "" instead of <>; and staticforward declarations 2000-06-29 00:06:39 +00:00
xxobject.c Vladimir Marangozov's long-awaited malloc restructuring. 2000-05-03 23:44:39 +00:00