X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmaterial.cpp;h=7047afb1522511e6affde31d09e56282372f0f87;hp=21b8ae3304a01bad8c52ce5e97399f1feb60a21d;hb=6933f05f4b1b7b1bd2c072029bf5a06cbeac5b0b;hpb=f7926ea41e65d2f687623904550771b7ee8f52a3 diff --git a/src/material.cpp b/src/material.cpp index 21b8ae33..7047afb1 100644 --- a/src/material.cpp +++ b/src/material.cpp @@ -27,7 +27,7 @@ using namespace std; namespace { - // Polynomial material balance parameters + // Polynomial material imbalance parameters // pair pawn knight bishop rook queen const int Linear[6] = { 1852, -162, -1122, -183, 249, -154 }; @@ -37,7 +37,7 @@ namespace { // pair pawn knight bishop rook queen { 0 }, // Bishop pair { 39, 2 }, // Pawn - { 35, 271, -4 }, // knight OUR PIECES + { 35, 271, -4 }, // Knight OUR PIECES { 0, 105, 4, 0 }, // Bishop { -27, -2, 46, 100, -141 }, // Rook {-177, 25, 129, 142, -137, 0 } // Queen @@ -136,7 +136,7 @@ Entry* probe(const Position& pos, Table& entries, Endgames& endgames) { std::memset(e, 0, sizeof(Entry)); e->key = key; e->factor[WHITE] = e->factor[BLACK] = (uint8_t)SCALE_FACTOR_NORMAL; - e->gamePhase = game_phase(pos); + e->gamePhase = pos.game_phase(); // Let's look if we have a specialized evaluation function for this particular // material configuration. Firstly we look for a fixed configuration one, then @@ -245,18 +245,4 @@ Entry* probe(const Position& pos, Table& entries, Endgames& endgames) { return e; } - -/// Material::game_phase() calculates the phase given the current -/// position. Because the phase is strictly a function of the material, it -/// is stored in MaterialEntry. - -Phase game_phase(const Position& pos) { - - Value npm = pos.non_pawn_material(WHITE) + pos.non_pawn_material(BLACK); - - return npm >= MidgameLimit ? PHASE_MIDGAME - : npm <= EndgameLimit ? PHASE_ENDGAME - : Phase(((npm - EndgameLimit) * 128) / (MidgameLimit - EndgameLimit)); -} - } // namespace Material