summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
d93baae)
This revert the following commit:
https://github.com/official-stockfish/Stockfish/commit/
44a7db0f9ac02d2461aff39e25f1ac9107ffbfac
Bug report by Ronald de Man in issue:
https://github.com/official-stockfish/Stockfish/issues/1392
Bench:
5023629
mainThread->bestMoveChanges = 0;
}
mainThread->bestMoveChanges = 0;
}
- multiPV = Options["MultiPV"];
+ size_t multiPV = Options["MultiPV"];
Skill skill(Options["Skill Level"]);
// When playing with strength handicap enable MultiPV search that we will
Skill skill(Options["Skill Level"]);
// When playing with strength handicap enable MultiPV search that we will
if (move == excludedMove)
continue;
if (move == excludedMove)
continue;
- if (rootNode)
- {
- // At root obey the "searchmoves" option and skip moves not listed in Root
- // Move List. As a consequence any illegal move is also skipped.
- if (!std::count(thisThread->rootMoves.begin() + thisThread->PVIdx,
- thisThread->rootMoves.end(), move))
- continue;
-
- // In MultiPV mode we not only skip PV moves which have already been searched,
- // but also any other move except we have reached the last PV line.
- if ( thisThread->PVIdx + 1 < thisThread->multiPV
- && move != ttMove)
- continue;
- }
+ // At root obey the "searchmoves" option and skip moves not listed in Root
+ // Move List. As a consequence any illegal move is also skipped. In MultiPV
+ // mode we also skip PV moves which have been already searched.
+ if (rootNode && !std::count(thisThread->rootMoves.begin() + thisThread->PVIdx,
+ thisThread->rootMoves.end(), move))
+ continue;
ss->moveCount = ++moveCount;
ss->moveCount = ++moveCount;
int elapsed = Time.elapsed() + 1;
const RootMoves& rootMoves = pos.this_thread()->rootMoves;
size_t PVIdx = pos.this_thread()->PVIdx;
int elapsed = Time.elapsed() + 1;
const RootMoves& rootMoves = pos.this_thread()->rootMoves;
size_t PVIdx = pos.this_thread()->PVIdx;
- size_t multiPV = pos.this_thread()->multiPV;
+ size_t multiPV = std::min((size_t)Options["MultiPV"], rootMoves.size());
uint64_t nodesSearched = Threads.nodes_searched();
uint64_t tbHits = Threads.tb_hits() + (TB::RootInTB ? rootMoves.size() : 0);
uint64_t nodesSearched = Threads.nodes_searched();
uint64_t tbHits = Threads.tb_hits() + (TB::RootInTB ? rootMoves.size() : 0);
Pawns::Table pawnsTable;
Material::Table materialTable;
Endgames endgames;
Pawns::Table pawnsTable;
Material::Table materialTable;
Endgames endgames;
int selDepth, nmp_ply, nmp_odd;
std::atomic<uint64_t> nodes, tbHits;
int selDepth, nmp_ply, nmp_odd;
std::atomic<uint64_t> nodes, tbHits;