X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmaterial.cpp;h=21b8ae3304a01bad8c52ce5e97399f1feb60a21d;hb=f7926ea41e65d2f687623904550771b7ee8f52a3;hp=0949a1bf418a899072865ad043d1048c39a1598b;hpb=264c8637a30247f1054f60b7b728fb4340185efa;p=stockfish diff --git a/src/material.cpp b/src/material.cpp index 0949a1bf..21b8ae33 100644 --- a/src/material.cpp +++ b/src/material.cpp @@ -29,10 +29,10 @@ namespace { // Polynomial material balance parameters - // pair pawn knight bishop rook queen - const int LinearCoefficients[6] = { 1852, -162, -1122, -183, 249, -154 }; + // pair pawn knight bishop rook queen + const int Linear[6] = { 1852, -162, -1122, -183, 249, -154 }; - const int QuadraticCoefficientsSameSide[][PIECE_TYPE_NB] = { + const int QuadraticSameSide[][PIECE_TYPE_NB] = { // OUR PIECES // pair pawn knight bishop rook queen { 0 }, // Bishop pair @@ -43,7 +43,7 @@ namespace { {-177, 25, 129, 142, -137, 0 } // Queen }; - const int QuadraticCoefficientsOppositeSide[][PIECE_TYPE_NB] = { + const int QuadraticOppositeSide[][PIECE_TYPE_NB] = { // THEIR PIECES // pair pawn knight bishop rook queen { 0 }, // Bishop pair @@ -93,26 +93,24 @@ namespace { const Color Them = (Us == WHITE ? BLACK : WHITE); - int pt1, pt2, pc, v; - int value = 0; + int bonus = 0; // Second-degree polynomial material imbalance by Tord Romstad - for (pt1 = NO_PIECE_TYPE; pt1 <= QUEEN; ++pt1) + for (int pt1 = NO_PIECE_TYPE; pt1 <= QUEEN; ++pt1) { - pc = pieceCount[Us][pt1]; - if (!pc) + if (!pieceCount[Us][pt1]) continue; - v = LinearCoefficients[pt1]; + int v = Linear[pt1]; - for (pt2 = NO_PIECE_TYPE; pt2 <= pt1; ++pt2) - v += QuadraticCoefficientsSameSide[pt1][pt2] * pieceCount[Us][pt2] - + QuadraticCoefficientsOppositeSide[pt1][pt2] * pieceCount[Them][pt2]; + for (int pt2 = NO_PIECE_TYPE; pt2 <= pt1; ++pt2) + v += QuadraticSameSide[pt1][pt2] * pieceCount[Us][pt2] + + QuadraticOppositeSide[pt1][pt2] * pieceCount[Them][pt2]; - value += pc * v; + bonus += pieceCount[Us][pt1] * v; } - return value; + return bonus; } } // namespace