X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fpawns.cpp;h=d9cfe409191a1b28dbf67b851fc8bdaf5cacb946;hp=d2a53ef9679a1d69ee1655530b9af05cd39b382b;hb=13a73f67c018e58b2fd46f886c45ef2b75188c8e;hpb=4ef6b2c32a0f4e7b6193349312da5e335d48416b diff --git a/src/pawns.cpp b/src/pawns.cpp index d2a53ef9..d9cfe409 100644 --- a/src/pawns.cpp +++ b/src/pawns.cpp @@ -252,14 +252,15 @@ Value Entry::shelter_storm(const Position& pos, Square ksq) { } -/// Entry::update_safety() calculates and caches a bonus for king safety. It is -/// called only when king square changes, about 20% of total king_safety() calls. +/// Entry::update_safety() calculates and caches a bonus for king safety. +/// It is called only when king square changes, which is about 20% of total +/// king_safety() calls. template Score Entry::update_safety(const Position& pos, Square ksq) { kingSquares[Us] = ksq; - castleRights[Us] = pos.can_castle(Us); + castlingFlags[Us] = pos.can_castle(Us); minKPdistance[Us] = 0; Bitboard pawns = pos.pieces(Us, PAWN); @@ -271,11 +272,11 @@ Score Entry::update_safety(const Position& pos, Square ksq) { Value bonus = shelter_storm(pos, ksq); - // If we can castle use the bonus after the castle if it is bigger - if (pos.can_castle(make_castle_right(Us, KING_SIDE))) + // If we can castle use the bonus after the castling if it is bigger + if (pos.can_castle(make_castling_flag(Us, KING_SIDE))) bonus = std::max(bonus, shelter_storm(pos, relative_square(Us, SQ_G1))); - if (pos.can_castle(make_castle_right(Us, QUEEN_SIDE))) + if (pos.can_castle(make_castling_flag(Us, QUEEN_SIDE))) bonus = std::max(bonus, shelter_storm(pos, relative_square(Us, SQ_C1))); return kingSafety[Us] = make_score(bonus, -16 * minKPdistance[Us]);