X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmaterial.cpp;fp=src%2Fmaterial.cpp;h=d98eb125e4bb5f84c8ebda36b1d146b20f5fdb41;hp=64a5bff033f9e7579fa33c9c94c3ea3f9dec0b22;hb=41cc4eb953b2574ea8858c6d52f09fb1574179c8;hpb=b5581b7779b6e286fa2277625572996477d74b10 diff --git a/src/material.cpp b/src/material.cpp index 64a5bff0..d98eb125 100644 --- a/src/material.cpp +++ b/src/material.cpp @@ -34,11 +34,11 @@ namespace { constexpr int QuadraticOurs[][PIECE_TYPE_NB] = { // OUR PIECES // pair pawn knight bishop rook queen - {1667 }, // Bishop pair + {1443 }, // Bishop pair { 40, 0 }, // Pawn - { 32, 255, -3 }, // Knight OUR PIECES + { 32, 255, -67 }, // Knight OUR PIECES { 0, 104, 4, 0 }, // Bishop - { -26, -2, 47, 105, -149 }, // Rook + { -26, -2, 47, 105, -221 }, // Rook {-189, 24, 117, 133, -134, -10 } // Queen }; @@ -53,6 +53,8 @@ namespace { { 97, 100, -42, 137, 268, 0 } // Queen }; + constexpr int PawnCount[] = { 0, 304, 144, -320, -560, -704, -672, -464, -320 }; + // 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 +91,7 @@ namespace { constexpr Color Them = (Us == WHITE ? BLACK : WHITE); - int bonus = 0; + int bonus = PawnCount[pieceCount[Us][PAWN]]; // Second-degree polynomial material imbalance, by Tord Romstad for (int pt1 = NO_PIECE_TYPE; pt1 <= QUEEN; ++pt1)