From: Marco Costalba Date: Sun, 3 Feb 2013 10:14:21 +0000 (+0100) Subject: Be clear about not LMR the ttMove X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=6560e4cc5b3da33c16a2a3290bbb3697f6c69b00 Be clear about not LMR the ttMove Currently a ttMove is reduced with ss->reduction = DEPTH_ZERO, so it is actually not reduced (as it should be), but the trick works just becuase it happens that ttMove is the first to be tried and reduction(depth, 1) Always returns zero. So explicitly forbid reduction of ttMove in the LMR condition. This is much clear and self-documented. No functional change. --- diff --git a/src/search.cpp b/src/search.cpp index 86f6fff0..27669d9d 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -400,6 +400,7 @@ namespace { // Sort the PV lines searched so far and update the GUI sort(RootMoves.begin(), RootMoves.begin() + PVIdx + 1); + if (PVIdx + 1 == PVSize || Time::now() - SearchTime > 3000) sync_cout << uci_pv(pos, depth, alpha, beta) << sync_endl; } @@ -922,8 +923,9 @@ split_point_start: // At split points actual search starts from here && !pvMove && !captureOrPromotion && !dangerous - && ss->killers[0] != move - && ss->killers[1] != move) + && move != ttMove + && move != ss->killers[0] + && move != ss->killers[1]) { ss->reduction = reduction(depth, moveCount); Depth d = std::max(newDepth - ss->reduction, ONE_PLY);