]> git.sesse.net Git - stockfish/blobdiff - src/material.cpp
Move game phase constants to enum Value
[stockfish] / src / material.cpp
index 9e46d05d4e74ffc237cc081458e628ffef9ba265..b8b6233cc278dc523f94d755c802b90d74480bbe 100644 (file)
@@ -27,14 +27,10 @@ using namespace std;
 
 namespace {
 
-  // Values modified by Joona Kiiski
-  const Value MidgameLimit = Value(15581);
-  const Value EndgameLimit = Value(3998);
-
   // Polynomial material balance parameters
 
   //                                  pair  pawn knight bishop rook queen
-  const int LinearCoefficients[6] = { 1852, -162, -1122, -183,  249, -52 };
+  const int LinearCoefficients[6] = { 1852, -162, -1122, -183,  249, -154 };
 
   const int QuadraticCoefficientsSameColor[][PIECE_TYPE_NB] = {
     // pair pawn knight bishop rook queen
@@ -43,7 +39,7 @@ namespace {
     {  35,  271,  -4                    }, // Knight
     {   0,  105,   4,    0              }, // Bishop
     { -27,   -2,  46,   100,  -141      }, // Rook
-    {  58,   29,  83,   148,  -163,   0 }  // Queen
+    {-177,   25, 129,   142,  -137,   0 }  // Queen
   };
 
   const int QuadraticCoefficientsOppositeColor[][PIECE_TYPE_NB] = {
@@ -54,7 +50,7 @@ namespace {
     {  10,   62,   0                    }, // Knight      OUR PIECES
     {  57,   64,  39,     0             }, // Bishop
     {  50,   40,  23,   -22,    0       }, // Rook
-    { 106,  101,   3,   151,  171,    0 }  // Queen
+    {  98,  105, -39,   141,  274,    0 }  // Queen
   };
 
   // Endgame evaluation and scaling functions are accessed directly and not through
@@ -116,16 +112,6 @@ namespace {
         value += pc * v;
     }
 
-    // Queen vs. 3 minors slightly favours the minors
-    if (pieceCount[Us][QUEEN] == 1 && pieceCount[Them][QUEEN] == 0)
-    {
-        int n = pieceCount[Them][KNIGHT] - pieceCount[Us][KNIGHT];
-        int b = pieceCount[Them][BISHOP] - pieceCount[Us][BISHOP];
-
-        if ((n == 2 && b == 1) || (n == 1 && b == 2))
-            value -= 66 * 16;
-    }
-
     return value;
   }