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.