]> git.sesse.net Git - stockfish/blobdiff - src/search.h
Fix comments in thread.cpp
[stockfish] / src / search.h
index afa12b3a4ee6b56104918178aeee4bdd50e6845a..20cfd4741fab7ca35c2e55979e6794eecb373409 100644 (file)
@@ -32,26 +32,13 @@ struct SplitPoint;
 
 namespace Search {
 
-struct PVEntry {
-  Move pv[MAX_PLY+1];
-
-  void update(Move move, PVEntry* child) {
-      pv[0] = move;
-
-      int i = 1;
-      for (; child && i < MAX_PLY && child->pv[i - 1] != MOVE_NONE; ++i)
-          pv[i] = child->pv[i - 1];
-      pv[i] = MOVE_NONE;
-  } 
-};
-
 /// The Stack struct keeps track of the information we need to remember from
 /// nodes shallower and deeper in the tree during the search. Each search thread
 /// has its own array of Stack objects, indexed by the current ply.
 
 struct Stack {
   SplitPoint* splitPoint;
-  PVEntry* pv;
+  Move* pv;
   int ply;
   Move currentMove;
   Move ttMove;
@@ -59,7 +46,7 @@ struct Stack {
   Move killers[2];
   Depth reduction;
   Value staticEval;
-  bool skipNullMove;
+  bool skipEarlyPruning;
 };
 
 
@@ -69,9 +56,7 @@ struct Stack {
 /// all non-pv moves.
 struct RootMove {
 
-  RootMove(Move m) : score(-VALUE_INFINITE), prevScore(-VALUE_INFINITE) {
-    pv.push_back(m); pv.push_back(MOVE_NONE);
-  }
+  RootMove(Move m) : score(-VALUE_INFINITE), previousScore(-VALUE_INFINITE), pv(1, m) {}
 
   bool operator<(const RootMove& m) const { return score > m.score; } // Ascending sort
   bool operator==(const Move& m) const { return pv[0] == m; }
@@ -79,10 +64,11 @@ struct RootMove {
   void insert_pv_in_tt(Position& pos);
 
   Value score;
-  Value prevScore;
+  Value previousScore;
   std::vector<Move> pv;
 };
 
+typedef std::vector<RootMove> RootMoveVector;
 
 /// The LimitsType struct stores information sent by GUI about available time
 /// to search the current move, maximum depth/time, if we are in analysis mode
@@ -113,7 +99,7 @@ typedef std::auto_ptr<std::stack<StateInfo> > StateStackPtr;
 
 extern volatile SignalsType Signals;
 extern LimitsType Limits;
-extern std::vector<RootMove> RootMoves;
+extern RootMoveVector RootMoves;
 extern Position RootPos;
 extern Time::point SearchTime;
 extern StateStackPtr SetupStates;