Author: Gerd Isenberg
Date: 10:31:31 08/20/04
Go up one level in this thread
On August 20, 2004 at 10:59:16, Robert Hyatt wrote: >On August 20, 2004 at 05:05:19, Tord Romstad wrote: > >>On August 20, 2004 at 00:37:26, Eric Oldre wrote: >> >>>On August 19, 2004 at 18:46:32, Robert Hyatt wrote: >>>> >>>> >>>>Has to do with passed pawns and no pieces on the board. If you form a square >>>>with one side going from the pawn to its promotion square, if the king is inside >>>>that square, the pawn can't run and promote. If the king is outside that square >>>>then the pawn promotes and wins. Simple idea with a few wrinkles to deal with. >>> >>>Thanks Robert, >>>that is actuall something I know i've read about at some point on this board. >>>and it's something that i hope i'll get to at some point. >>> >>>wouldn't you need to have 2 different bit boards? depending on who's turn it is >>>to move? >> >>You don't need even a single bitboard. Just compare the distance of the >>passed pawn to the promotion square to the distance of the defending king >>to the promotion square. Subtract 1 from the defending king's distance >>if it is the defender's turn to move. >> >>Tord >> > >Bitboards don't need any subtraction, any correction for side to move, nor even >the exact king square. It looks something like this: > >if (white_pawn_race[square of white pawn] & BlackKing) pawn can't run. Funny, i index with the square of Black King, but "and" with a set of all white passers instead ;-) passedPawnsOutsideSquareOfKing[WHITE] = passedPawns[WHITE] & sOutsideSquares[WHITE][bKingSq][color2move]; with passedPawns[WHITE] probably stored in pawn-hash table or generated on the fly with some 64-bit instructions: passedPawns[WHITE] = pawns[WHITE] & ~filldown(allPawns|pawnAttacks[BLACK]); BitBoard fillDown(BitBoard b) { // Kogge-Stone parallel prefix algorithm b |= b >> 8; b |= b >> 16; b |= b >> 32; return b; } > > >>> >>>Eric
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.