+/// Thread::clear() reset histories, usually before a new game
+
+void Thread::clear() {
+
+ counterMoves.fill(MOVE_NONE);
+ mainHistory.fill(0);
+ captureHistory.fill(0);
+
+ for (bool inCheck : { false, true })
+ for (StatsType c : { NoCaptures, Captures })
+ for (auto& to : continuationHistory[inCheck][c])
+ for (auto& h : to)
+ h->fill(0);
+
+ for (bool inCheck : { false, true })
+ for (StatsType c : { NoCaptures, Captures })
+ continuationHistory[inCheck][c][NO_PIECE][0]->fill(Search::CounterMovePruneThreshold - 1);
+}