From 589049a0e58f5cde377e620e1669d7ce17ff5ddd Mon Sep 17 00:00:00 2001 From: Jonathan Calovski Date: Mon, 12 Dec 2016 05:57:02 +1100 Subject: [PATCH] Simplify unstoppable condition STC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 86389 W: 15165 L: 15153 D: 56071 LTC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 98143 W: 12311 L: 12288 D: 73544 Bench: 5437987 --- src/evaluate.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 6cf7e4da..0136db84 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -197,7 +197,7 @@ namespace { const Score WeakQueen = S(50, 10); const Score Hanging = S(48, 27); const Score ThreatByPawnPush = S(38, 22); - const Score Unstoppable = S( 0, 20); + const Score Unstoppable = S( 0, 45); const Score PawnlessFlank = S(20, 80); const Score HinderPassedPawn = S( 7, 0); const Score ThreatByRank = S(16, 3); @@ -855,12 +855,11 @@ Value Eval::evaluate(const Position& pos) { // If both sides have only pawns, score for potential unstoppable pawns if (!pos.non_pawn_material(WHITE) && !pos.non_pawn_material(BLACK)) { - Bitboard b; - if ((b = ei.pi->passed_pawns(WHITE)) != 0) - score += Unstoppable * int(relative_rank(WHITE, frontmost_sq(WHITE, b))); + if (ei.pi->passed_pawns(WHITE)) + score += Unstoppable; - if ((b = ei.pi->passed_pawns(BLACK)) != 0) - score -= Unstoppable * int(relative_rank(BLACK, frontmost_sq(BLACK, b))); + if (ei.pi->passed_pawns(BLACK)) + score -= Unstoppable; } // Evaluate space for both sides, only during opening -- 2.39.2