Author: Uri Blass
Date: 02:51:47 11/04/02
Go up one level in this thread
On November 04, 2002 at 05:08:12, Uri Blass wrote: >On November 04, 2002 at 05:07:11, Uri Blass wrote: > >>On November 04, 2002 at 04:59:03, Uri Blass wrote: >> >>>On November 04, 2002 at 04:32:20, Severi Salminen wrote: >>> >>>>>I can see randomize when I click F1 only as a visual basic command and I work in >>>>>C. >>>>> >>>>>I tried srand(0) before filling the array but it does not help and >>>>>zobrist[0][0][0] is different in debug mode and in release mode. >>>> >>>>Are you sure? I think rand() should return the exact same values if you use the >>>>same seed (srand()). Are you sure you run srand(0) and fill the table only once >>>>in both versions? There seems to be a bug somewhere. >>>> >>>>Severi >>> >>>I do not know maybe the problem is that I use rand64 for 64 bits numbers >>> >>>Here is the beginning of my code >>> >>>int main(void) >>>{ >>> char s[256]; >>> int i=0; >>> char sizehash[9]="aaaaaaaaa"; >>> int hash_in_mbytes=0; >>> FILE *hashfile=fopen("movei137info.txt", "r+t"); >>> int fil,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(); >>> printf(" %d ",(zobrist[0][0][0]&1048575)); >>> >>> >>>In debug mode I get 229414 and in release mode I get 172695. >>> >>> >>>If I use rand instead of rand64 I get 38 in both cases >>>Here is my function rand64 that is in another file in my project. >>> >>>__int64 rand64() >>>{ >>> return rand()^((__int64)rand()<<15)^((__int64)rand()<<30)^ >>> ((__int64)rand()<<45)^((__int64)rand()<<60); >>>} >>> >>> >>>Uri >> >>More information the fact that the function is in a different files change >>nothing here >> >>I tried transferring the function to the same file and even not using the >>function but >>having >> >>for (fil=0;fil<6;fil++) >> for (i=0;i<2;i++) >> for (j=0;j<64;j++) >> zobrist[fil][i][j]=rand()^((__int64)rand()<<15)^((__int64)rand()<<30)^ >> ((__int64)rand()<<45)^((__int64)rand()<<60); >> >>It does not help and I get different numbers in compile mode and in release >>mode. > >Correction I mean debug and release. > >Uri I did not try it at this moment but I guess that the problem is that the order of the xor is different in debug and in release mode. I am going to try it later today. 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.