From 33b0718faa80f3f74787f92a62f1ee42c78ab8ab Mon Sep 17 00:00:00 2001 From: xoto10 Date: Mon, 15 Jul 2019 21:10:00 +0100 Subject: [PATCH] Extra Backward penalty for backward pawns if on rank 4/5/6. Bench 3358030 --- src/pawns.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pawns.cpp b/src/pawns.cpp index 0d3a57bfa6e..9a159a23dca 100644 --- a/src/pawns.cpp +++ b/src/pawns.cpp @@ -69,6 +69,8 @@ namespace { constexpr Color Them = (Us == WHITE ? BLACK : WHITE); constexpr Direction Up = (Us == WHITE ? NORTH : SOUTH); + constexpr Bitboard Adv = (Us == WHITE ? Rank4BB | Rank5BB | Rank6BB + : Rank5BB | Rank4BB | Rank3BB ); Bitboard b, neighbours, stoppers, doubled, support, phalanx; Bitboard lever, leverPush; @@ -138,7 +140,7 @@ namespace { score -= Isolated + WeakUnopposed * int(!opposed); else if (backward) - score -= Backward + WeakUnopposed * int(!opposed); + score -= Backward + Backward * bool(SquareBB[s] & Adv) + WeakUnopposed * int(!opposed); if (doubled && !support) score -= Doubled;