]> git.sesse.net Git - stockfish/blobdiff - src/material.cpp
Pawns count imbalance table
[stockfish] / src / material.cpp
index 7f760ee29b2cc3ab1359b7020deb242cf4d7f5f9..498ef33fe35ee0727e46325da5c769cb609a5aa6 100644 (file)
@@ -35,7 +35,7 @@ namespace {
     //            OUR PIECES
     // pair pawn knight bishop rook queen
     {1667                               }, // Bishop pair
-    {  40,    2                         }, // Pawn
+    {  40,    0                         }, // Pawn
     {  32,  255,  -3                    }, // Knight      OUR PIECES
     {   0,  104,   4,    0              }, // Bishop
     { -26,   -2,  47,   105,  -149      }, // Rook
@@ -53,6 +53,11 @@ namespace {
     { 101,  100, -37,   141,  268,    0 }  // Queen
   };
 
+  // PawnsSet[count] contains a bonus/malus indexed by number of pawns
+  const int PawnsSet[9] = { 
+     24, -32, 107, -51, 117, -9, -126, -21, 31
+  };
+
   // Endgame evaluation and scaling functions are accessed directly and not through
   // the function maps because they correspond to more than one material hash key.
   Endgame<KXK>    EvaluateKXK[] = { Endgame<KXK>(WHITE),    Endgame<KXK>(BLACK) };
@@ -89,7 +94,7 @@ namespace {
 
     const Color Them = (Us == WHITE ? BLACK : WHITE);
 
-    int bonus = 0;
+    int bonus = PawnsSet[pieceCount[Us][PAWN]];
 
     // Second-degree polynomial material imbalance by Tord Romstad
     for (int pt1 = NO_PIECE_TYPE; pt1 <= QUEEN; ++pt1)