mirror of
https://github.com/sockspls/badfish
synced 2025-05-02 09:39:36 +00:00
Revert "Implement old 'multipv' search"
This revert the following commit:
44a7db0f9a
Bug report by Ronald de Man in issue:
https://github.com/official-stockfish/Stockfish/issues/1392
Bench: 5023629
This commit is contained in:
parent
d93baae220
commit
e316e432d0
2 changed files with 9 additions and 17 deletions
|
@ -297,7 +297,7 @@ void Thread::search() {
|
||||||
mainThread->bestMoveChanges = 0;
|
mainThread->bestMoveChanges = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
multiPV = Options["MultiPV"];
|
size_t multiPV = Options["MultiPV"];
|
||||||
Skill skill(Options["Skill Level"]);
|
Skill skill(Options["Skill Level"]);
|
||||||
|
|
||||||
// When playing with strength handicap enable MultiPV search that we will
|
// When playing with strength handicap enable MultiPV search that we will
|
||||||
|
@ -802,20 +802,12 @@ moves_loop: // When in check search starts from here
|
||||||
if (move == excludedMove)
|
if (move == excludedMove)
|
||||||
continue;
|
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. In MultiPV
|
||||||
// At root obey the "searchmoves" option and skip moves not listed in Root
|
// mode we also skip PV moves which have been already searched.
|
||||||
// Move List. As a consequence any illegal move is also skipped.
|
if (rootNode && !std::count(thisThread->rootMoves.begin() + thisThread->PVIdx,
|
||||||
if (!std::count(thisThread->rootMoves.begin() + thisThread->PVIdx,
|
thisThread->rootMoves.end(), move))
|
||||||
thisThread->rootMoves.end(), move))
|
continue;
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
ss->moveCount = ++moveCount;
|
ss->moveCount = ++moveCount;
|
||||||
|
|
||||||
|
@ -1535,7 +1527,7 @@ string UCI::pv(const Position& pos, Depth depth, Value alpha, Value beta) {
|
||||||
int elapsed = Time.elapsed() + 1;
|
int elapsed = Time.elapsed() + 1;
|
||||||
const RootMoves& rootMoves = pos.this_thread()->rootMoves;
|
const RootMoves& rootMoves = pos.this_thread()->rootMoves;
|
||||||
size_t PVIdx = pos.this_thread()->PVIdx;
|
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 nodesSearched = Threads.nodes_searched();
|
||||||
uint64_t tbHits = Threads.tb_hits() + (TB::RootInTB ? rootMoves.size() : 0);
|
uint64_t tbHits = Threads.tb_hits() + (TB::RootInTB ? rootMoves.size() : 0);
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,7 @@ public:
|
||||||
Pawns::Table pawnsTable;
|
Pawns::Table pawnsTable;
|
||||||
Material::Table materialTable;
|
Material::Table materialTable;
|
||||||
Endgames endgames;
|
Endgames endgames;
|
||||||
size_t PVIdx, multiPV;
|
size_t PVIdx;
|
||||||
int selDepth, nmp_ply, nmp_odd;
|
int selDepth, nmp_ply, nmp_odd;
|
||||||
std::atomic<uint64_t> nodes, tbHits;
|
std::atomic<uint64_t> nodes, tbHits;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue