X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Ftypes.h;h=b9964971ddb19fa4cfeb485c3abc6cd6900247b7;hp=7de31d45f67853de4e3ea498c59157dce55c4b91;hb=304deb5e833baf47c147e93377f5c7ef582ab822;hpb=d84865eac3d7b694b6ad9b6eb95c7a3097b38b3d diff --git a/src/types.h b/src/types.h index 7de31d45..b9964971 100644 --- a/src/types.h +++ b/src/types.h @@ -297,6 +297,12 @@ inline Score operator/(Score s, int i) { return make_score(mg_value(s) / i, eg_value(s) / i); } +/// Weight score v by score w trying to prevent overflow +inline Score apply_weight(Score v, Score w) { + return make_score((int(mg_value(v)) * mg_value(w)) / 0x100, + (int(eg_value(v)) * eg_value(w)) / 0x100); +} + #undef ENABLE_OPERATORS_ON #undef ENABLE_SAFE_OPERATORS_ON