From: Marco Costalba Date: Sat, 2 Aug 2014 09:02:13 +0000 (+0200) Subject: Ensure printing UCI info in multi-pv case X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=1b69910865a4add283ba32626acce4e03553a51c;hp=29451de8749ac5c2ed8573ccaeb359a72b8c00c9 Ensure printing UCI info in multi-pv case After commit 94b1bbb68be6b0bc3aaf1cb804841a022bcc7007, in case available root moves are less than multiPV, we could never reach condition: PVIdx + 1 == multiPV and as a consequence UCI output is not printed. Fixed suggested by Joerg Oster. No functional change. --- diff --git a/src/search.cpp b/src/search.cpp index 3b7fab5f..3fb1345a 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -301,7 +301,7 @@ namespace { RootMoves[i].prevScore = RootMoves[i].score; // MultiPV loop. We perform a full root search for each PV line - for (PVIdx = 0; PVIdx < multiPV && PVIdx < RootMoves.size() && !Signals.stop; ++PVIdx) + for (PVIdx = 0; PVIdx < std::min(multiPV, RootMoves.size()) && !Signals.stop; ++PVIdx) { // Reset aspiration window starting size if (depth >= 5) @@ -366,7 +366,7 @@ namespace { // Sort the PV lines searched so far and update the GUI std::stable_sort(RootMoves.begin(), RootMoves.begin() + PVIdx + 1); - if (PVIdx + 1 == multiPV || Time::now() - SearchTime > 3000) + if (PVIdx + 1 == std::min(multiPV, RootMoves.size()) || Time::now() - SearchTime > 3000) sync_cout << uci_pv(pos, depth, alpha, beta) << sync_endl; }