Fix MultiPv and Skill in SMP.
authormstembera <MissingEmail@email>
Mon, 7 Dec 2015 21:51:43 +0000 (13:51 -0800)
committerJoona Kiiski <joona@zoox.com>
Sat, 12 Dec 2015 10:32:28 +0000 (10:32 +0000)
7 threads, 5+0.1:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 55460 W: 9665 L: 9601 D: 36194

No functional change in normal playing mode

src/search.cpp

index 1e9c501..3c34f18 100644 (file)
@@ -327,10 +327,11 @@ void MainThread::search() {
 
   // Check if there are threads with a better score than main thread.
   Thread* bestThread = this;
-  for (Thread* th : Threads)
-      if (   th->completedDepth > bestThread->completedDepth
-          && th->rootMoves[0].score > bestThread->rootMoves[0].score)
-        bestThread = th;
+  if (Options["MultiPV"] == 1 && !Skill(Options["Skill Level"]).enabled())
+      for (Thread* th : Threads)
+          if (   th->completedDepth > bestThread->completedDepth
+              && th->rootMoves[0].score > bestThread->rootMoves[0].score)
+            bestThread = th;
 
   // Send new PV when needed.
   // FIXME: Breaks multiPV, and skill levels