1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-05-01 09:13:08 +00: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:
joergoster 2016-07-09 21:01:42 +02:00 committed by Marco Costalba
parent 1d09ee70f7
commit 82d02a3133

View file

@ -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) {