]> git.sesse.net Git - stockfish/blobdiff - src/tt.cpp
Retire update_pv() and sp_update_pv()
[stockfish] / src / tt.cpp
index fc0bdfb47c1c96f1738c8403795640fbf13056f8..b7d47e7498951320a861dd60c66877a0a3ce710e 100644 (file)
@@ -185,16 +185,17 @@ void TranspositionTable::insert_pv(const Position& pos, Move pv[]) {
 /// will often get single-move PVs when the search stops while failing high,
 /// and a single-move PV means that we don't have a ponder move.
 
-void TranspositionTable::extract_pv(const Position& pos, Move pv[], const int PLY_MAX) {
+void TranspositionTable::extract_pv(const Position& pos, Move bestMove, Move pv[], const int PLY_MAX) {
 
   const TTEntry* tte;
   StateInfo st;
   Position p(pos, pos.thread());
   int ply = 0;
 
-  // Update position to the end of current PV
-  while (pv[ply] != MOVE_NONE)
-      p.do_move(pv[ply++], st);
+  assert(bestMove != MOVE_NONE);
+
+  pv[ply] = bestMove;
+  p.do_move(pv[ply++], st);
 
   // Try to add moves from TT while possible
   while (   (tte = retrieve(p.get_key())) != NULL