X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmaterial.cpp;h=498ef33fe35ee0727e46325da5c769cb609a5aa6;hp=7f760ee29b2cc3ab1359b7020deb242cf4d7f5f9;hb=c076216a32f6952d443eeeaaaea24bed9ebafa12;hpb=d8f683760c9eb6d2c4714ec83e717dd2143de55c diff --git a/src/material.cpp b/src/material.cpp index 7f760ee2..498ef33f 100644 --- a/src/material.cpp +++ b/src/material.cpp @@ -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 EvaluateKXK[] = { Endgame(WHITE), Endgame(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)