From 55b46ffa909cf3873e4ac7129e324ed3eb1d0124 Mon Sep 17 00:00:00 2001 From: Jonathan Calovski Date: Wed, 7 Oct 2015 19:48:54 +1100 Subject: [PATCH] Retire rook contact checks STC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 34114 W: 6363 L: 6265 D: 21486 LTC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 61776 W: 9349 L: 9289 D: 43138 LTC (after rebasing): LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 15261 W: 2343 L: 2214 D: 10704 Bench: 7523382 Resolves #442 --- src/evaluate.cpp | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 8fd405d0..0554f490 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -220,9 +220,8 @@ namespace { // Penalties for enemy's safe checks const int QueenContactCheck = 89; - const int RookContactCheck = 71; const int QueenCheck = 50; - const int RookCheck = 37; + const int RookCheck = 45; const int BishopCheck = 6; const int KnightCheck = 14; @@ -421,23 +420,6 @@ namespace { attackUnits += QueenContactCheck * popcount(b); } - // Analyse the enemy's safe rook contact checks. Firstly, find the - // undefended squares around the king reachable by the enemy rooks... - b = undefended & ei.attackedBy[Them][ROOK] & ~pos.pieces(Them); - - // Consider only squares where the enemy's rook gives check - b &= PseudoAttacks[ROOK][ksq]; - - if (b) - { - // ...and then remove squares not supported by another enemy piece - b &= ( ei.attackedBy[Them][PAWN] | ei.attackedBy[Them][KNIGHT] - | ei.attackedBy[Them][BISHOP]); - - if (b) - attackUnits += RookContactCheck * popcount(b); - } - // Analyse the enemy's safe distance checks for sliders and knights safe = ~(ei.attackedBy[Us][ALL_PIECES] | pos.pieces(Them)); -- 2.39.2