namespace {
- // Set to true to force running with one thread. Used for debugging
- const bool FakeSplit = false;
-
// Different node types, used as template parameter
enum NodeType { Root, PV, NonPV };
&& depth >= 8 * ONE_PLY
&& abs(beta) < VALUE_KNOWN_WIN
&& ttMove != MOVE_NONE
- && ttValue != VALUE_NONE
+ /* && ttValue != VALUE_NONE Already implicit in the next condition */
+ && abs(ttValue) < VALUE_KNOWN_WIN
&& !excludedMove // Recursive singular search is not allowed
&& (tte->bound() & BOUND_LOWER)
&& tte->depth() >= depth - 3 * ONE_PLY;
{
assert(bestValue > -VALUE_INFINITE && bestValue < beta);
- thisThread->split<FakeSplit>(pos, ss, alpha, beta, &bestValue, &bestMove,
- depth, moveCount, &mp, NT, cutNode);
+ thisThread->split(pos, ss, alpha, beta, &bestValue, &bestMove,
+ depth, moveCount, &mp, NT, cutNode);
if (Signals.stop || thisThread->cutoff_occurred())
return VALUE_ZERO;