]> git.sesse.net Git - stockfish/commitdiff
Fix an off-by-one bug in sort_multipv()
authorMarco Costalba <mcostalba@gmail.com>
Sat, 1 Jan 2011 14:07:45 +0000 (15:07 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Sat, 1 Jan 2011 15:07:30 +0000 (16:07 +0100)
Second parameter of insertion_sort() is a pointer to the
element _after_ the last of the list, e.g. end() when sorting
all items.

If we want to sort say the first 2 moves we should write:

sort_multipv(2);

So, becuase in root moves loop move counter 'i' starts
from 0, we need to pass:

sort_multipv(i+1);

To sort up to move 'i' included.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
src/search.cpp

index 1b6cf365b427ca10e38252896666bb8f302879ea..355eed1b24ca79327194aaf8f90ab4f549e57cec 100644 (file)
@@ -149,7 +149,7 @@ namespace {
     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); }
   };