Author: Bas Hamstra
Date: 16:33:50 12/23/02
Go up one level in this thread
On December 23, 2002 at 19:07:51, Gerd Isenberg wrote: >On December 23, 2002 at 16:13:21, Bas Hamstra wrote: > >>Gerd, >> >>Those fill routines are really neat. I have a few tiny enhancements and am >>working on more. How about this: >> >>// determine where white pawns can go safely, with a floodfill up: >>WSafePath = FFillUp(WPawns, ~(AllPawns|BDominated) ); >> >>// now we can calc "pawn-defendable" more accurately: >>WDefendable = ((WPawnAttacksRight >> 16) & WSafePath) << 7 | >> ((WPawnAttacksLeft >> 16) & WSafePath) << 9 ; >> >>// to be used in backward pawns: >>WBackWard = ((~AllPawns & BDominated) >> 8) & WPawns & ~WDefendable; >> >>Best regards, >>Bas. > >Hi Bas, > >Wow, absolutely great!!! >Pawn-defendable is really more accurate. > >I guess FFillUp(g, p) is Steffan's FillUpOccluded and WPawns are therefore >member of WSafePath. Yes, that is 100% correct. I played with this routines to check the speed of the non-mmx versions, but it seems then I have a "wrap-around" problem? >BitBoard FFillUp(BitBoard g, BitBoard p) >{ > g |= p & (g << 8); > p &= (p << 8); > g |= p & (g << 16); > p &= (p << 16); > return g | (p & (g << 32)); >} > >What do you think about (2.rank) pawns thay may push safely one step foreward, >but became backward afterwards? Yes, I have been thinking about this too, but it gave me a headache :-) Because, what to say about pawns that become backward if 3 squares advanced? What is the definition of backward pawn, in fact? Is a pawn on the third rank counted as backward if it would be backward if 2 squares advanced? WELL?? :-) Best regards, Bas.
This page took 0.01 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.