[Python-Dev] Re: [Patches] fix float_hash and complex_hash for 64-bit *nix (original) (raw)
Guido van Rossum guido@python.org
Thu, 11 May 2000 09:01:10 -0400
- Previous message: [Python-Dev] Re: [Patches] fix float_hash and complex_hash for 64-bit *nix
- Next message: [Python-Dev] Re: [Patches] fix float_hash and complex_hash for 64-bit *nix
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I have to admit I have no clue about the details of this debate any more, and I'm cowardly awaiting a patch submission that Tim approves of. (I'm hoping a day will come when Tim can check it in himself. :-)
In the mean time, I'd like to emphasize the key invariant here: we must ensure that (a==b) => (hash(a)==hash(b)). One quick way to deal with this could be the following pseudo C:
PyObject *double_hash(double x)
{
long l = (long)x;
if ((double)l == x)
return long_hash(l);
...double-specific code...
}
This code makes one assumption: that if there exists a long l equal to a double x, the cast (long)x should yield l...
--Guido van Rossum (home page: http://www.python.org/~guido/)
- Previous message: [Python-Dev] Re: [Patches] fix float_hash and complex_hash for 64-bit *nix
- Next message: [Python-Dev] Re: [Patches] fix float_hash and complex_hash for 64-bit *nix
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]