Author: Uri Blass
Date: 14:33:54 05/30/04
Go up one level in this thread
On May 30, 2004 at 14:14:30, Zach Wegner wrote:
>>>r1=(unsigned)zobrist[fil][i][j]&4294967295;
>>>r2=(unsigned)zobrist[fil][i][j]>>32;
>
>should be:
>r2=(unsigned)(zobrist[fil][i][j]>>32);
>
>Shifting an unsigned right by 32 is 0(on a 32-bit machine, of course).
It does not help
r1=(unsigned)zobrist[fil][i][j]&4294967295;
r2=(unsigned)(zobrist[fil][i][j]>>32);
r=r1 | (BitBoard) r2<<32;
for some reason I get
r!=zobrist[fil][i][j]&4294967295
The main problem is that I can get 2^32-1 when I do
printf(" %u ",(r>>32));
I do not get it when I do
printf(" %u ",(zobrist[fil][i][j]>>32));
Uri
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.