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;hp=08d615cc9500713d89bd20dd0963258932abf627 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);