X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fpawns.cpp;h=597dff2b0fb6c70413889f3a63cfba35f354eaa5;hb=527d832a6de81c455cc8818e85c309fa1443f862;hp=467137b3133ef84a4d7fef1a0f64d8de50bf761e;hpb=a5e3b4eddede900c1df610e8e25026a79d706500;p=stockfish diff --git a/src/pawns.cpp b/src/pawns.cpp index 467137b3..597dff2b 100644 --- a/src/pawns.cpp +++ b/src/pawns.cpp @@ -145,22 +145,22 @@ namespace { else if (!neighbours) { - score -= Isolated - + WeakUnopposed * !opposed; - - if ( (ourPawns & forward_file_bb(Them, s)) - && popcount(opposed) == 1 + if ( opposed + && (ourPawns & forward_file_bb(Them, s)) && !(theirPawns & adjacent_files_bb(s))) score -= Doubled; + else + score -= Isolated + + WeakUnopposed * !opposed; } else if (backward) - score -= Backward - + WeakUnopposed * !opposed; + score -= Backward + + WeakUnopposed * !opposed; if (!support) - score -= Doubled * doubled - + WeakLever * more_than_one(lever); + score -= Doubled * doubled + + WeakLever * more_than_one(lever); } return score; @@ -196,7 +196,7 @@ Entry* probe(const Position& pos) { /// penalty for a king, looking at the king file and the two closest files. template -Score Entry::evaluate_shelter(const Position& pos, Square ksq) { +Score Entry::evaluate_shelter(const Position& pos, Square ksq) const { constexpr Color Them = ~Us;