From 272936eaba8d3a40f4d2d6649fb9a06912bd162c Mon Sep 17 00:00:00 2001 From: protonspring Date: Thu, 16 May 2019 06:13:16 -0600 Subject: [PATCH] Score and Select Best Thread in same loop (#2125) This is a non-functional simplification that combines vote counting and thread selecting in the same loop. It is possible that the best thread would be updated more frequently than master, but I'm not sure it matters here. Perhaps "mostVotes" is a better name than "bestVote?" STC (stopped early). LLR: 0.70 (-2.94,2.94) [-3.00,1.00] Total: 10714 W: 2329 L: 2311 D: 6074 http://tests.stockfishchess.org/tests/view/5ccc71470ebc5925cf03d244 No functional change. --- src/search.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/search.cpp b/src/search.cpp index fdef1400..f1136e3e 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -239,19 +239,19 @@ void MainThread::search() { for (Thread* th: Threads) minScore = std::min(minScore, th->rootMoves[0].score); - // Vote according to score and depth + // Vote according to score and depth, and select the best thread + int64_t bestVote = 0; for (Thread* th : Threads) + { votes[th->rootMoves[0].pv[0]] += (th->rootMoves[0].score - minScore + 14) * int(th->completedDepth); - // Select best thread - auto bestVote = votes[this->rootMoves[0].pv[0]]; - for (Thread* th : Threads) if (votes[th->rootMoves[0].pv[0]] > bestVote) { bestVote = votes[th->rootMoves[0].pv[0]]; bestThread = th; } + } } previousScore = bestThread->rootMoves[0].score; -- 2.39.2