Author: Sune Fischer
Date: 15:31:00 09/13/02
Go up one level in this thread
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
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.