From: Alain SAVARD Date: Sat, 18 Apr 2015 21:12:56 +0000 (+0100) Subject: Exclude queen from Rook Contact Check computation X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=078625e33389536addc9f94b7fc197230ef2f0fb;hp=6c040c821a50475840607ef5f11c270ee21d61da;ds=sidebyside Exclude queen from Rook Contact Check computation In ei.attackedBy, Queen does not x-ray through Rook, but the Rook does X-ray through the Queen. So most of the rook contact checks supported by queen are, in fact, Queen Contact Checks and they are already scored separately. Bench: 7762189 Resolves #338 --- diff --git a/src/evaluate.cpp b/src/evaluate.cpp index b50792da..563e707f 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -438,7 +438,7 @@ namespace { { // ...and then remove squares not supported by another enemy piece b &= ( ei.attackedBy[Them][PAWN] | ei.attackedBy[Them][KNIGHT] - | ei.attackedBy[Them][BISHOP] | ei.attackedBy[Them][QUEEN]); + | ei.attackedBy[Them][BISHOP]); if (b) attackUnits += RookContactCheck * popcount(b);