Yes, you are right. For the hashing though, i think it would be sane to do some kind of mixing of all 64 bits into a 32 bit integers. Something along the lines of martins proposal. Maybe even use the same for 64 bit integers aswell.
On Mon, 7 Mar 2011, Mirar @ Pike developers forum wrote:
Shouldn't random produce a linear result between 0 and the value? If the value is 1e308, it's 1% chance that you get a value below 1e306, and 0.1% chance that you get a value below 1e305. It seems correct to me.