Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: zobrist key table questions

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.