diff --git a/src/search.cpp b/src/search.cpp index 7019635d..3c2ae3e5 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1549,8 +1549,8 @@ moves_loop: // When in check, search starts here // Continuation history based pruning (~2 Elo) if ( !capture && bestValue > VALUE_TB_LOSS_IN_MAX_PLY - && (*contHist[0])[pos.moved_piece(move)][to_sq(move)] < CounterMovePruneThreshold - && (*contHist[1])[pos.moved_piece(move)][to_sq(move)] < CounterMovePruneThreshold) + && (*contHist[0])[pos.moved_piece(move)][to_sq(move)] < 0 + && (*contHist[1])[pos.moved_piece(move)][to_sq(move)] < 0) continue; // movecount pruning for quiet check evasions diff --git a/src/search.h b/src/search.h index 4ad5784f..f264bcae 100644 --- a/src/search.h +++ b/src/search.h @@ -31,9 +31,6 @@ class Position; namespace Search { -/// Threshold used for countermoves based pruning -constexpr int CounterMovePruneThreshold = 0; - /// Stack struct keeps track of the information we need to remember from nodes /// shallower and deeper in the tree during the search. Each search thread has diff --git a/src/thread.cpp b/src/thread.cpp index 288588b0..9ce408e0 100644 --- a/src/thread.cpp +++ b/src/thread.cpp @@ -64,12 +64,9 @@ void Thread::clear() { for (bool inCheck : { false, true }) for (StatsType c : { NoCaptures, Captures }) - { for (auto& to : continuationHistory[inCheck][c]) - for (auto& h : to) - h->fill(-71); - continuationHistory[inCheck][c][NO_PIECE][0]->fill(Search::CounterMovePruneThreshold - 1); - } + for (auto& h : to) + h->fill(-71); }