Convert History table H in a local variable
authorMarco Costalba <mcostalba@gmail.com>
Tue, 2 Jun 2009 08:57:15 +0000 (09:57 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Tue, 2 Jun 2009 08:57:15 +0000 (09:57 +0100)
This is a first step for future patches and in
any case seems a nice thing to do.

No functional change.

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

index 797f5e9..7906eb7 100644 (file)
@@ -63,7 +63,8 @@ namespace {
 /// search captures, promotions and some checks) and about how important good
 /// move ordering is at the current node.
 
-MovePicker::MovePicker(const Position& p, bool pv, Move ttm, Depth d, SearchStack* ss) : pos(p) {
+MovePicker::MovePicker(const Position& p, bool pv, Move ttm, Depth d,
+                       const History& h, SearchStack* ss) : pos(p), H(h) {
 
   pvNode = pv;
   ttMove = ttm;
index 56efb32..94a0e5f 100644 (file)
@@ -26,6 +26,7 @@
 ////
 
 #include "depth.h"
+#include "history.h"
 #include "lock.h"
 #include "position.h"
 
@@ -64,7 +65,7 @@ public:
     PH_STOP
   };
 
-  MovePicker(const Position& p, bool pvnode, Move ttm, Depth d, SearchStack* ss = NULL);
+  MovePicker(const Position& p, bool pvnode, Move ttm, Depth d, const History& h, SearchStack* ss = NULL);
   Move get_next_move();
   Move get_next_move(Lock& lock);
   int number_of_moves() const;
@@ -80,6 +81,7 @@ private:
   Move pick_move_from_list();
 
   const Position& pos;
+  const History& H;
   Move ttMove, mateKiller, killer1, killer2;
   Bitboard pinned, dc;
   MoveStack moves[256], badCaptures[64];
index 0429830..8c26ac0 100644 (file)
@@ -28,6 +28,7 @@
 #include <string>
 #include <sstream>
 
+#include "history.h"
 #include "movepick.h"
 #include "san.h"
 
@@ -143,7 +144,7 @@ Move move_from_san(const Position& pos, const string& movestr) {
 
   assert(pos.is_ok());
 
-  MovePicker mp = MovePicker(pos, false, MOVE_NONE, OnePly);
+  MovePicker mp = MovePicker(pos, false, MOVE_NONE, OnePly, History());
 
   // Castling moves
   if (movestr == "O-O-O" || movestr == "O-O-O+")
@@ -367,7 +368,7 @@ namespace {
     if (type_of_piece(pc) == KING)
         return AMBIGUITY_NONE;
 
-    MovePicker mp = MovePicker(pos, false, MOVE_NONE, OnePly);
+    MovePicker mp = MovePicker(pos, false, MOVE_NONE, OnePly, History());
     Move mv, moveList[8];
 
     int n = 0;
index 16c46c9..cc2a061 100644 (file)
@@ -207,6 +207,9 @@ namespace {
   // Search depth at iteration 1
   const Depth InitialDepth = OnePly /*+ OnePly/2*/;
 
+  // History tables
+  History H;
+
   // Node counters
   int NodesSincePoll;
   int NodesBetweenPolls = 30000;
@@ -330,8 +333,6 @@ int ActiveThreads = 1;
 // but it could turn out to be useful for debugging.
 Lock IOLock;
 
-History H;  // Should be made local?
-
 
 // SearchStack::init() initializes a search stack. Used at the beginning of a
 // new search from the root.
@@ -1056,7 +1057,7 @@ namespace {
 
     // Initialize a MovePicker object for the current position, and prepare
     // to search all moves
-    MovePicker mp = MovePicker(pos, true, ttMove, depth, &ss[ply]);
+    MovePicker mp = MovePicker(pos, true, ttMove, depth, H, &ss[ply]);
 
     Move move, movesSearched[256];
     int moveCount = 0;
@@ -1317,7 +1318,7 @@ namespace {
 
     // Initialize a MovePicker object for the current position, and prepare
     // to search all moves:
-    MovePicker mp = MovePicker(pos, false, ttMove, depth, &ss[ply]);
+    MovePicker mp = MovePicker(pos, false, ttMove, depth, H, &ss[ply]);
 
     Move move, movesSearched[256];
     int moveCount = 0;
@@ -1538,7 +1539,7 @@ namespace {
     // Initialize a MovePicker object for the current position, and prepare
     // to search the moves.  Because the depth is <= 0 here, only captures,
     // queen promotions and checks (only if depth == 0) will be generated.
-    MovePicker mp = MovePicker(pos, pvNode, ttMove, depth);
+    MovePicker mp = MovePicker(pos, pvNode, ttMove, depth, H);
     Move move;
     int moveCount = 0;
     Bitboard dcCandidates = mp.discovered_check_candidates();
index 62d3fe9..03c35f0 100644 (file)
@@ -73,9 +73,6 @@ extern TranspositionTable TT;
 extern int ActiveThreads;
 extern Lock SMPLock;
 
-// Perhaps better to make H local, and pass as parameter to MovePicker?
-extern History H;
-
 
 ////
 //// Prototypes