X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fsearch.cpp;h=f0783363e79766fc682dabbf42fc4d0d0cda9469;hp=66c406936eed57af83547d84aad79784978fa2bf;hb=f2681232e516da164196d7238482729da038ae1e;hpb=d5e3e7d207538fe3ff0c86df9d9f95912f5266e9;ds=sidebyside diff --git a/src/search.cpp b/src/search.cpp index 66c40693..f0783363 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -72,6 +72,16 @@ namespace { return Value((175 - 50 * improving) * d / ONE_PLY); } + // Margin for pruning capturing moves: almost linear in depth + constexpr int CapturePruneMargin[] = { 0, + 1 * PawnValueEg * 1055 / 1000, + 2 * PawnValueEg * 1042 / 1000, + 3 * PawnValueEg * 963 / 1000, + 4 * PawnValueEg * 1038 / 1000, + 5 * PawnValueEg * 950 / 1000, + 6 * PawnValueEg * 930 / 1000 + }; + // Futility and reductions lookup tables, initialized at startup int FutilityMoveCounts[2][16]; // [improving][depth] int Reductions[2][2][64][64]; // [pv][improving][depth][moveNumber] @@ -919,7 +929,7 @@ moves_loop: // When in check, search starts from here } else if ( depth < 7 * ONE_PLY && !extension - && !pos.see_ge(move, -PawnValueEg * (depth / ONE_PLY))) + && !pos.see_ge(move, -Value(CapturePruneMargin[depth / ONE_PLY]))) continue; }