X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fevaluate.cpp;h=0249ee3b2a35c24071feb935069ed2e106926e59;hp=80bec8746f8bd8edd7bd6db869c9c5b31b439e90;hb=1322ab97c737fe761bd6ae8786f852851b8f019f;hpb=1d4e7bbdf5a8b2e87daaa54eea52cbe01d699fdb diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 80bec874..0249ee3b 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -29,7 +29,6 @@ #include "evaluate.h" #include "material.h" #include "pawns.h" -#include "scale.h" #include "thread.h" #include "ucioption.h" @@ -1065,9 +1064,8 @@ namespace { } - // scale_by_game_phase() interpolates between a middle game and an endgame - // score, based on game phase. It also scales the return value by a - // ScaleFactor array. + // scale_by_game_phase() interpolates between a middle game and an endgame score, + // based on game phase. It also scales the return value by a ScaleFactor array. Value scale_by_game_phase(const Score& v, Phase ph, const ScaleFactor sf[]) { @@ -1075,7 +1073,9 @@ namespace { assert(eg_value(v) > -VALUE_INFINITE && eg_value(v) < VALUE_INFINITE); assert(ph >= PHASE_ENDGAME && ph <= PHASE_MIDGAME); - Value ev = apply_scale_factor(eg_value(v), sf[(eg_value(v) > Value(0) ? WHITE : BLACK)]); + Value eg = eg_value(v); + ScaleFactor f = sf[eg > Value(0) ? WHITE : BLACK]; + Value ev = Value((eg * f) / SCALE_FACTOR_NORMAL); int result = (mg_value(v) * ph + ev * (128 - ph)) / 128; return Value(result & ~(GrainSize - 1));