mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-20 09:06:45 +08:00
Fix extract_ponder_from_tt()
Checking for legality of a possible ponder move must be done before we undo the first pv move, of course. (spotted by mohammed li.) This obviously only has any effect when playing in ponder mode. No functional change.
This commit is contained in:
committed by
Marco Costalba
parent
1d09ee70f7
commit
82d02a3133
@@ -1574,16 +1574,16 @@ bool RootMove::extract_ponder_from_tt(Position& pos)
|
|||||||
|
|
||||||
pos.do_move(pv[0], st, pos.gives_check(pv[0], CheckInfo(pos)));
|
pos.do_move(pv[0], st, pos.gives_check(pv[0], CheckInfo(pos)));
|
||||||
TTEntry* tte = TT.probe(pos.key(), ttHit);
|
TTEntry* tte = TT.probe(pos.key(), ttHit);
|
||||||
pos.undo_move(pv[0]);
|
|
||||||
|
|
||||||
if (ttHit)
|
if (ttHit)
|
||||||
{
|
{
|
||||||
Move m = tte->move(); // Local copy to be SMP safe
|
Move m = tte->move(); // Local copy to be SMP safe
|
||||||
if (MoveList<LEGAL>(pos).contains(m))
|
if (MoveList<LEGAL>(pos).contains(m))
|
||||||
return pv.push_back(m), true;
|
pv.push_back(m);
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
pos.undo_move(pv[0]);
|
||||||
|
return pv.size() > 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Tablebases::filter_root_moves(Position& pos, Search::RootMoves& rootMoves) {
|
void Tablebases::filter_root_moves(Position& pos, Search::RootMoves& rootMoves) {
|
||||||
|
|||||||
Reference in New Issue
Block a user