void set_non_pv_scores(const Position& pos);
void sort() { insertion_sort<RootMove, Base::iterator>(begin(), end()); }
- void sort_multipv(int n) { insertion_sort<RootMove, Base::iterator>(begin(), begin() + n); }
+ void sort_multipv(int n) { insertion_sort<RootMove, Base::iterator>(begin(), begin() + n + 1); }
};
<< move_to_san(pos, ponderMove) // Works also with MOVE_NONE
<< endl;
+ // Return from think() with unchanged position
+ pos.undo_move(bestMove);
+
LogFile.close();
}
// Write PV lines to transposition table, in case the relevant entries
// have been overwritten during the search.
- for (int i = 0; i < MultiPV; i++)
+ for (int i = 0; i < Min(MultiPV, (int)rml.size()); i++)
rml[i].insert_pv_in_tt(pos);
return alpha;