X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fsearch.cpp;h=e29f54498e1ce3bfd322b493fc73e641a8c3d873;hp=17d52cae5febf53739f97e78e0ab254e3e7d5b83;hb=45b0aea875860e9f0fe2d0435ee6163906639194;hpb=c86eee391830c9c74bc11be9c537ccbbf6cb412e diff --git a/src/search.cpp b/src/search.cpp index 17d52cae..e29f5449 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -333,7 +333,7 @@ namespace { while (++depth <= MAX_PLY && !Signals.stop && (!Limits.depth || depth <= Limits.depth)) { // Age out PV variability metric - BestMoveChanges *= 0.8; + BestMoveChanges *= 0.8f; // Save last iteration's scores before first PV line is searched and all // the move scores but the (new) PV are set to -VALUE_INFINITE. @@ -780,7 +780,7 @@ moves_loop: // When in check and at SpNode search starts from here singularExtensionNode = !RootNode && !SpNode - && depth >= (PvNode ? 6 * ONE_PLY : 8 * ONE_PLY) + && depth >= 8 * ONE_PLY && ttMove != MOVE_NONE && !excludedMove // Recursive singular search is not allowed && (tte->bound() & BOUND_LOWER) @@ -835,7 +835,7 @@ moves_loop: // When in check and at SpNode search starts from here ext = ONE_PLY; else if (givesCheck && pos.see_sign(move) >= 0) - ext = ONE_PLY / 2; + ext = inCheck || ss->staticEval <= alpha ? ONE_PLY : ONE_PLY / 2; // Singular extension search. If all moves but one fail low on a search of // (alpha-s, beta-s), and just one fails high on (alpha, beta), then that move