X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fsearch.cpp;h=075aa9b4422d01d490e2a1a25196e8befe7d6002;hp=03d05796ae69bd2df092183764604e9ac7f1d85d;hb=37e9802411fa122eb140ada2edfc9df3be55dbb8;hpb=dd5b3086f5f10819c527aa6276ca7a0c54e47900 diff --git a/src/search.cpp b/src/search.cpp index 03d05796..075aa9b4 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1016,8 +1016,12 @@ split_point_start: // At split points actual search starts from here && depth >= Threads.min_split_depth() && bestValue < beta && Threads.available_slave_exists(thisThread)) + { bestValue = Threads.split(pos, ss, alpha, beta, bestValue, &bestMove, depth, threatMove, moveCount, mp, NT); + if (bestValue >= beta) + break; + } } if (SpNode) @@ -1150,6 +1154,11 @@ split_point_start: // At split points actual search starts from here if (ss->staticEval == VALUE_NONE || ss->evalMargin == VALUE_NONE) // Due to a race ss->staticEval = bestValue = evaluate(pos, ss->evalMargin); } + else if ((ss-1)->currentMove == MOVE_NULL) + { + ss->staticEval = bestValue = -(ss-1)->staticEval; + ss->evalMargin = VALUE_ZERO; // Hack, we really don't know the value + } else ss->staticEval = bestValue = evaluate(pos, ss->evalMargin);