Author: Uri Blass
Date: 03:44:55 05/30/04
I have the following function to initialize my random numbers
typedef unsigned __int64 BitBoard;
BitBoard rand64()
{
__int64 r = rand();
r ^= (__int64)rand() << 15;
r ^= (__int64)rand() << 30;
r ^= (__int64)rand() << 45;
r ^= (__int64)rand() << 60;
return r;
}
void initializezobarray()
{
//starting zobrist keys
char zobnum[128];
int fil,i,j;
srand(0);
for (fil=0;fil<6;fil++)
for (i=0;i<2;i++)
for (j=0;j<64;j++)
zobrist[fil][i][j]=rand64();
}
My first question is if I can be sure that I will get the same random numbers in
every computer(I get the same in my computer but if I do not get the same in
every computer than I may consider to rewrite it because I plan to use hash keys
for my book and I do not want to have a problem that the program will not be
able to use my book in another computer).
I also see that Crafty is using a table of random numbers from a book and does
not trust rand()
My second question is if there is an advantage in doing it.
Uri
This page took 0.01 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.