X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fpawns.cpp;h=47c89ed4c076c73d6be4647ba1cd16f960438cec;hp=291d40b6858c8a1e193c42f7debceede349af125;hb=5935daf8a5b6925a6af2084f87e3831b3bb17dac;hpb=6ed81f09ffa513f0938c1a16fa4edd55e552c178 diff --git a/src/pawns.cpp b/src/pawns.cpp index 291d40b6..47c89ed4 100644 --- a/src/pawns.cpp +++ b/src/pawns.cpp @@ -35,6 +35,7 @@ namespace { constexpr Score Backward = S( 9, 24); constexpr Score Doubled = S(11, 56); constexpr Score Isolated = S( 5, 15); + constexpr Score WeakUnopposed = S( 13, 27); // Connected pawn bonus constexpr int Connected[RANK_NB] = { 0, 7, 8, 12, 29, 48, 86 }; @@ -77,7 +78,7 @@ namespace { Bitboard ourPawns = pos.pieces( Us, PAWN); Bitboard theirPawns = pos.pieces(Them, PAWN); - e->passedPawns[Us] = e->pawnAttacksSpan[Us] = e->weakUnopposed[Us] = 0; + e->passedPawns[Us] = e->pawnAttacksSpan[Us] = 0; e->kingSquares[Us] = SQ_NONE; e->pawnAttacks[Us] = pawn_attacks_bb(ourPawns); @@ -132,10 +133,10 @@ namespace { score += make_score(v, v * (r - 2) / 4); } else if (!neighbours) - score -= Isolated, e->weakUnopposed[Us] += !opposed; + score -= Isolated + WeakUnopposed * int(!opposed); else if (backward) - score -= Backward, e->weakUnopposed[Us] += !opposed; + score -= Backward + WeakUnopposed * int(!opposed); if (doubled && !support) score -= Doubled;