Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Correction again

Author: Bas Hamstra

Date: 06:50:03 12/18/02

Go up one level in this thread


On December 17, 2002 at 20:30:49, Gerd Isenberg wrote:

>Oups, sorry, not so easy...
>
>those were wrong again:
>
>openPawns[WHITE] = pawnBB[WHITE] & ~filldown(allPawns);
>passedPawns[WHITE] = pawnBB[WHITE] & ~filldown(allPawns|pawnAttacks[BLACK]);
>notDefendable[WHITE] = pawnBB[WHITE] & fillup(pawnAttacks[WHITE]);
>
>Both openPawns and  passedPawns statements produce an empty set due to
>"allPawns" as filldown parameter, which is member of the filldown result.
>
>I'll hope this is it finally ;-)
>
>openPawns[WHITE] = pawnBB[WHITE] & ~filldown(allPawns >> 8);
>passedPawns[WHITE] = openPawns[WHITE]
>                   & ~filldown(pawnBB[BLACK]|pawnAttacks[BLACK]);
>
>
>The notDefendable-Statement was implemented as isDefendable of course.
>
>notDefendable[WHITE] = pawnBB[WHITE] & ~fillup(pawnAttacks[WHITE]);
>
>Gerd

Interesting and clever as always, Gerd. Although I would rather expect fillup
where I see filldown in the above examples, but maybe I ordered my bitboards
differently. I use a lot of masks stored in tables. But that's for each pawn
seperate, your idea seems better.


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.