• Fred Drake's avatar
    This patch addresses two main issues: (1) There exist some non-fatal · 13634cf7
    Fred Drake yazdı
    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.
    13634cf7
Adı
Son kayıt (commit)
Son güncelleme
..
.cvsignore Loading commit data...
Makefile.in Loading commit data...
abstract.c Loading commit data...
bufferobject.c Loading commit data...
classobject.c Loading commit data...
cobject.c Loading commit data...
complexobject.c Loading commit data...
dictobject.c Loading commit data...
fileobject.c Loading commit data...
floatobject.c Loading commit data...
frameobject.c Loading commit data...
funcobject.c Loading commit data...
intobject.c Loading commit data...
listobject.c Loading commit data...
longobject.c Loading commit data...
methodobject.c Loading commit data...
moduleobject.c Loading commit data...
object.c Loading commit data...
rangeobject.c Loading commit data...
sliceobject.c Loading commit data...
stringobject.c Loading commit data...
tupleobject.c Loading commit data...
typeobject.c Loading commit data...
unicodectype.c Loading commit data...
unicodeobject.c Loading commit data...
xxobject.c Loading commit data...