From aa0166fba66d1bd3d2756f8f16b7f6161064d0a3 Mon Sep 17 00:00:00 2001 From: Moez Jellouli <37274752+MJZ1977@users.noreply.github.com> Date: Thu, 4 Apr 2019 08:49:35 +0200 Subject: [PATCH] Add attacked by 2 pawns to attackedBy2 (#2074) Add squares attacked by 2 pawns to the attackedBy2 array STC : LLR: -2.95 (-2.94,2.94) [0.50,4.50] Total: 132722 W: 29583 L: 29090 D: 74049 http://tests.stockfishchess.org/tests/view/5ca231ba0ebc5925cf000794 LTC : LLR: 2.95 (-2.94,2.94) [0.00,3.50] Total: 94589 W: 16161 L: 15718 D: 62710 http://tests.stockfishchess.org/tests/view/5ca25d180ebc5925cf000ba4 Bench: 3337864 --- src/evaluate.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/evaluate.cpp b/src/evaluate.cpp index deb8211a..51cba651 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -228,6 +228,8 @@ namespace { const Square ksq = pos.square(Us); + Bitboard dblAttackByPawn = pawn_double_attacks_bb(pos.pieces(Us, PAWN)); + // Find our pawns that are blocked or on the first two ranks Bitboard b = pos.pieces(Us, PAWN) & (shift(pos.pieces()) | LowRanks); @@ -239,7 +241,8 @@ namespace { attackedBy[Us][KING] = pos.attacks_from(ksq); attackedBy[Us][PAWN] = pe->pawn_attacks(Us); attackedBy[Us][ALL_PIECES] = attackedBy[Us][KING] | attackedBy[Us][PAWN]; - attackedBy2[Us] = attackedBy[Us][KING] & attackedBy[Us][PAWN]; + attackedBy2[Us] = (attackedBy[Us][KING] & attackedBy[Us][PAWN]) + | dblAttackByPawn; // Init our king safety tables kingRing[Us] = attackedBy[Us][KING]; @@ -256,7 +259,7 @@ namespace { kingAttacksCount[Them] = kingAttackersWeight[Them] = 0; // Remove from kingRing[] the squares defended by two pawns - kingRing[Us] &= ~pawn_double_attacks_bb(pos.pieces(Us, PAWN)); + kingRing[Us] &= ~dblAttackByPawn; } -- 2.39.2