]> git.sesse.net Git - stockfish/blobdiff - src/evaluate.cpp
Merge branch 'master' into bishop_pin_clop
[stockfish] / src / evaluate.cpp
index 183f166a8e3c8b1e37ffe91188c0858a8a6e4cd1..02810b78490093f1f14f7c220897f2661f4bc63f 100644 (file)
@@ -150,6 +150,8 @@ namespace {
 
   #undef S
 
+  const Score BishopPinBonus = make_score(66, 11);
+
   // Bonus for having the side to move (modified by Joona Kiiski)
   const Score Tempo = make_score(24, 11);
 
@@ -496,7 +498,7 @@ Value do_evaluate(const Position& pos, Value& margin) {
 
     // Init king safety tables only if we are going to use them
     if (   pos.piece_count(Us, QUEEN)
-        && pos.non_pawn_material(Us) >= QueenValueMg + RookValueMg)
+        && pos.non_pawn_material(Us) > QueenValueMg + PawnValueMg)
     {
         ei.kingRing[Them] = (b | (Us == WHITE ? b >> 8 : b << 8));
         b &= ei.attackedBy[Us][PAWN];
@@ -584,7 +586,7 @@ Value do_evaluate(const Position& pos, Value& margin) {
         else if (Piece == BISHOP && (PseudoAttacks[Piece][pos.king_square(Them)] & s)) {
              const Bitboard between = BetweenBB[s][pos.king_square(Them)] & pos.pieces();
              if (!more_than_one(between))
-                 score += make_score(15, 25);
+                 score += BishopPinBonus;
         }
 
         // Bishop and knight outposts squares
@@ -692,8 +694,7 @@ Value do_evaluate(const Position& pos, Value& margin) {
                       & ~ei.attackedBy[Them][0];
 
     if (undefendedMinors)
-        score += more_than_one(undefendedMinors) ? UndefendedMinorPenalty * 2
-                                                 : UndefendedMinorPenalty;
+        score += UndefendedMinorPenalty;
 
     // Enemy pieces not defended by a pawn and under our attack
     weakEnemies =  pos.pieces(Them)