Skip to content
Permalink
Browse files

Revert "Remove skipQuiets variable in search()"

This reverts commit 76d2f5b.

Due to a bug, see official-stockfish#2019

Bench: 3516616
  • Loading branch information...
mcostalba committed Feb 26, 2019
1 parent badb2ac commit 7c5f5fbadabb9c163443cfe05e6a522495607fef
Showing with 8 additions and 6 deletions.
  1. +8 −6 src/search.cpp
@@ -569,7 +569,7 @@ namespace {
Depth extension, newDepth;
Value bestValue, value, ttValue, eval, maxValue, pureStaticEval;
bool ttHit, ttPv, inCheck, givesCheck, improving;
bool captureOrPromotion, doFullDepthSearch, moveCountPruning, ttCapture;
bool captureOrPromotion, doFullDepthSearch, moveCountPruning, skipQuiets, ttCapture;
Piece movedPiece;
int moveCount, captureCount, quietCount;

@@ -879,12 +879,12 @@ namespace {
ss->killers);
value = bestValue; // Workaround a bogus 'uninitialized' warning under gcc

moveCountPruning = false;
skipQuiets = false;
ttCapture = ttMove && pos.capture_or_promotion(ttMove);

// Step 12. Loop through all pseudo-legal moves until no moves remain
// or a beta cutoff occurs.
while ((move = mp.next_move(moveCountPruning)) != MOVE_NONE)
while ((move = mp.next_move(skipQuiets)) != MOVE_NONE)
{
assert(is_ok(move));

@@ -913,9 +913,8 @@ namespace {
movedPiece = pos.moved_piece(move);
givesCheck = gives_check(pos, move);

// Skip quiet moves if movecount exceeds our FutilityMoveCount threshold
moveCountPruning = depth < 16 * ONE_PLY
&& moveCount >= FutilityMoveCounts[improving][depth / ONE_PLY];
moveCountPruning = depth < 16 * ONE_PLY
&& moveCount >= FutilityMoveCounts[improving][depth / ONE_PLY];

// Step 13. Extensions (~70 Elo)

@@ -973,7 +972,10 @@ namespace {
{
// Move count based pruning (~30 Elo)
if (moveCountPruning)
{
skipQuiets = true;
continue;
}

// Reduced depth of the next LMR search
int lmrDepth = std::max(newDepth - reduction<PvNode>(improving, depth, moveCount), DEPTH_ZERO) / ONE_PLY;

0 comments on commit 7c5f5fb

Please sign in to comment.
You can’t perform that action at this time.