From: Marco Costalba Date: Mon, 28 Apr 2014 15:15:16 +0000 (+0200) Subject: Rearrange interpolation formula X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=db229504e2c68a92177985bfbf7a870349257301;hp=918c29f83ab8a013d3946916887e1d1d7b9cfb9a Rearrange interpolation formula Put the division at the end to reduce rounding errors. This alters the bench due to different rounding errors, but should not alter ELO in any way. bench: 7615217 --- diff --git a/src/evaluate.cpp b/src/evaluate.cpp index ccc3d915..ede94ec0 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -779,9 +779,9 @@ namespace { sf = ScaleFactor(50 * sf / SCALE_FACTOR_NORMAL); } - // Interpolate between a middlegame and an endgame score, scaling by 'sf' + // Interpolate between a middlegame and a (scaled by 'sf') endgame score Value v = mg_value(score) * int(ei.mi->game_phase()) - + eg_value(score) * int(sf) / SCALE_FACTOR_NORMAL * int(PHASE_MIDGAME - ei.mi->game_phase()); + + eg_value(score) * int(PHASE_MIDGAME - ei.mi->game_phase()) * sf / SCALE_FACTOR_NORMAL; v /= PHASE_MIDGAME;