From: Marco Costalba Date: Sat, 20 Sep 2008 18:55:52 +0000 (+0100) Subject: Add new superlinear interpolator X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=cde7b30b656471f28e1bfbafbf2c4de2c746bd2c;hp=2dbc8feae32e923904a9d05ced4847fd8e6f6724 Add new superlinear interpolator Faster transition and between phases and more persistent during mid and ending game. Signed-off-by: Marco Costalba --- diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 46ddfe5c..74ee58f4 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -1156,7 +1156,12 @@ namespace { else ev = apply_scale_factor(ev, sf[BLACK]); - Value result = Value(int((mv * ph + ev * (128 - ph)) / 128)); + // Superlinear interpolator + int sli_ph = int(ph); + sli_ph -= (64 - sli_ph) / 4; + sli_ph = Min(PHASE_MIDGAME, Max(PHASE_ENDGAME, sli_ph)); // ceiling + + Value result = Value(int((mv * sli_ph + ev * (128 - sli_ph)) / 128)); return Value(int(result) & ~(GrainSize - 1)); }