Author: Gerd Isenberg
Date: 00:45:15 09/14/02
Go up one level in this thread
On September 13, 2002 at 18:31:00, Sune Fischer wrote: >On September 13, 2002 at 18:20:33, Gerd Isenberg wrote: > >>On September 13, 2002 at 16:56:38, Steffan Westcott wrote: >> >>>On September 13, 2002 at 04:07:55, Sune Fischer wrote: >>> >><snip> >> >>>There is sadly a bug in both of your routines. You use a return value of 0 to >>>indicate if no path exists. However, if (sq1 & sq2) != 0, you return a path >>>length of 0 also! When reporting the path length, my routines include the end >>>points and so have minimum value of 1 for any valid path. >>> >>>Cheers, >>>Steffan >> >>Hi Steffan, >> >>Thanks for the tip. >> >>In the assembler routine the minimum distance was also one, if connected. >>Distance, initilialzed with zero (xor eax, eax) was preincremented before the >>connection conditions occurs. But that's of course not necessary. Already >>changed it, in combination with Sune's "shift" hint to produce the initial >>square bitboards (... if the "one" is already there :-) > >Hehe, what a team :) > >Now, perhaps counting isn't really necessary for the bishops and rooks, unlike >the king they move more than one square at a time (doh!), so I guess boolean is >an acceptable optimization. > > >Gerd, another thing. > >I seem to remember you once talked about compact rotated attack bitboards. >Did you ever make that work for the diagonals? > >I have the rook attack tables down to a mere 4.5 kB, I seem to remember you also >derived that number (8x8x64+1x8x64). > >Or am I completely off the mark here? > >-S. > >>regards, >>Gerd No i don't use compact attack bitboards yet. I only use 64*64 [square][state]-arrays for ranks, files and diagonals, instead of 64*256 arrays. I'm only looking for the six inner occupied state bits, because the outer ones terminate the ray attack in any case, independend of their occupied state. So each of the four BitBoard[64][64] arrays has a size of 32KB. I see the point of only use the rank index for file attacks and the file index for ranks attacks and doing some additional shifts. Have to think about it for diagonals. Nice idea to make it more cache friendly. 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.