Author: Gerd Isenberg
Date: 06:32:37 10/29/03
Go up one level in this thread
On October 29, 2003 at 07:00:56, martin fierz wrote:
>On October 28, 2003 at 15:01:40, Gerd Isenberg wrote:
>
>>On October 28, 2003 at 14:50:35, Martin Schreiber wrote:
>>
>>>Hi,
>>>
>>>For my hash tables I need 64 bit random numbers, but I don't know the source
>>>code.
>>>I use Dev-C++.
>>>Can anybody help me?
>>>
>>>Martin
>>
>>This simple one works quite well
>>
>>UINT32 HashRand32()
>>{
>> static UINT32 r = 0;
>> return (r = 1664525L*r + 1013904223L);
>>}
>>
>>...
>>hashval = HashRand32();
>>hashval = (hashval << 32) | HashRand32();
>
>i use a similar concatenation of random numbers generated with the C rand()
>function.
>
>i have never believed all the stuff about "bad" or "good" random numbers for
>hashing purposes (of course, for other things it's different...). i also don't
>believe this "hamming distance" stuff. i'd be very surprised if any of this made
>any difference in practice. has anybody ever tested this?
>
>cheers
> martin
Hi Martin,
i'm not an expert in pseudo random number generators.
I never tried C-rand() so far, because it may vary from system to system and i
want deterministic numbers independent from compiler or os. I looked for min and
average hamming distance, but i have no idea whether a min hamming distance of
let say 16 does necessarily imply higher collision rate as 30.
I store the whole 64 bit signature inside my hash structure - and even look for
validity of the stored move.
Cheers,
Gerd
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.