X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fpawns.cpp;h=7fcdded6375b92f72beb6db6dd556775d6a44770;hp=56f5d7239594b391e13ddd6b3edd80432632297f;hb=76f9cd4df1292ffa919e039edcfb8069f576e698;hpb=759b3c79cf94d101163f646b1eb2a9f9c64293ab diff --git a/src/pawns.cpp b/src/pawns.cpp index 56f5d723..7fcdded6 100644 --- a/src/pawns.cpp +++ b/src/pawns.cpp @@ -68,10 +68,10 @@ namespace { { V( 1), V( 64), V( 143), V(26), V(13) }, { V( 1), V( 47), V( 110), V(44), V(24) }, { V( 0), V( 72), V( 127), V(50), V(31) } }, - { { V( 0), V( 0), V( 79), V(23), V( 1) }, // BlockedByPawn - { V( 0), V( 0), V( 148), V(27), V( 2) }, - { V( 0), V( 0), V( 161), V(16), V( 1) }, - { V( 0), V( 0), V( 171), V(22), V(15) } }, + { { V( 0), V( 0), V( 19), V(23), V( 1) }, // BlockedByPawn + { V( 0), V( 0), V( 88), V(27), V( 2) }, + { V( 0), V( 0), V( 101), V(16), V( 1) }, + { V( 0), V( 0), V( 111), V(22), V(15) } }, { { V(22), V( 45), V( 104), V(62), V( 6) }, // Unblocked { V(31), V( 30), V( 99), V(39), V(19) }, { V(23), V( 29), V( 96), V(41), V(15) }, @@ -151,7 +151,7 @@ namespace { // not attacked more times than defended. if ( !(stoppers ^ lever ^ leverPush) && !(ourPawns & forward_file_bb(Us, s)) - && popcount(supported) >= popcount(lever) + && popcount(supported) >= popcount(lever) - 1 && popcount(phalanx) >= popcount(leverPush)) e->passedPawns[Us] |= s; @@ -237,12 +237,6 @@ template Value Entry::shelter_storm(const Position& pos, Square ksq) { constexpr Color Them = (Us == WHITE ? BLACK : WHITE); - constexpr Bitboard ShelterMask = - Us == WHITE ? make_bitboard(SQ_A2, SQ_B3, SQ_C2, SQ_F2, SQ_G3, SQ_H2) - : make_bitboard(SQ_A7, SQ_B6, SQ_C7, SQ_F7, SQ_G6, SQ_H7); - constexpr Bitboard StormMask = - Us == WHITE ? make_bitboard(SQ_A3, SQ_C3, SQ_F3, SQ_H3) - : make_bitboard(SQ_A6, SQ_C6, SQ_F6, SQ_H6); enum { BlockedByKing, Unopposed, BlockedByPawn, Unblocked }; @@ -271,9 +265,6 @@ Value Entry::shelter_storm(const Position& pos, Square ksq) { [d][rkThem]; } - if (popcount((ourPawns & ShelterMask) | (theirPawns & StormMask)) == 5) - safety += Value(300); - return safety; }