mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-20 17:16:33 +08:00
Better value clipping in game_phase()
No functional change.
This commit is contained in:
@@ -465,15 +465,16 @@ const string Position::pretty(Move m) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// Position::game_phase() calculates the game phase of the position
|
/// Position::game_phase() calculates the game phase interpolating total non-pawn
|
||||||
|
/// material between endgame and midgame limits.
|
||||||
|
|
||||||
Phase Position::game_phase() const {
|
Phase Position::game_phase() const {
|
||||||
|
|
||||||
Value npm = st->npMaterial[WHITE] + st->npMaterial[BLACK];
|
Value npm = st->npMaterial[WHITE] + st->npMaterial[BLACK];
|
||||||
|
|
||||||
return npm >= MidgameLimit ? PHASE_MIDGAME
|
npm = std::max(EndgameLimit, std::min(npm, MidgameLimit));
|
||||||
: npm <= EndgameLimit ? PHASE_ENDGAME
|
|
||||||
: Phase(((npm - EndgameLimit) * 128) / (MidgameLimit - EndgameLimit));
|
return Phase(((npm - EndgameLimit) * 128) / (MidgameLimit - EndgameLimit));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user