]> git.sesse.net Git - stockfish/blobdiff - src/move.h
Use a flag in TT to track null search values
[stockfish] / src / move.h
index 71def812d85743708d1a6ed22622aba696c2f6d0..0eb7b18b4cc97d8653bba9517d2db40dd7727d5d 100644 (file)
@@ -1,7 +1,7 @@
 /*
   Stockfish, a UCI chess playing engine derived from Glaurung 2.1
   Copyright (C) 2004-2008 Tord Romstad (Glaurung author)
-  Copyright (C) 2008-2009 Marco Costalba
+  Copyright (C) 2008-2010 Marco Costalba, Joona Kiiski, Tord Romstad
 
   Stockfish is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -89,7 +89,7 @@ inline void insertion_sort(T* firstMove, T* lastMove)
 // Our dedicated sort in range [firstMove, lastMove), first splits
 // positive scores from ramining then order seaprately the two sets.
 template<typename T>
-inline void sort_moves(T* firstMove, T* lastMove)
+inline void sort_moves(T* firstMove, T* lastMove, T** lastPositive)
 {
     T tmp;
     T *p, *d;
@@ -114,9 +114,9 @@ inline void sort_moves(T* firstMove, T* lastMove)
 
     } while (p != d);
 
-    // Sort positives and non-positives separately
+    // Sort just positive scored moves, remaining only when we get there
     insertion_sort<T>(firstMove, p);
-    insertion_sort<T>(p, lastMove);
+    *lastPositive = p;
 }
 
 // Picks up the best move in range [curMove, lastMove), one per cycle.