From: Marco Costalba Date: Tue, 2 Jun 2009 08:57:15 +0000 (+0100) Subject: Convert History table H in a local variable X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=c1b60269a26b2ba1c8882b8f382f0e3e435c1962 Convert History table H in a local variable 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 --- diff --git a/src/movepick.cpp b/src/movepick.cpp index 797f5e94..7906eb75 100644 --- a/src/movepick.cpp +++ b/src/movepick.cpp @@ -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; diff --git a/src/movepick.h b/src/movepick.h index 56efb321..94a0e5f9 100644 --- a/src/movepick.h +++ b/src/movepick.h @@ -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]; diff --git a/src/san.cpp b/src/san.cpp index 0429830c..8c26ac00 100644 --- a/src/san.cpp +++ b/src/san.cpp @@ -28,6 +28,7 @@ #include #include +#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; diff --git a/src/search.cpp b/src/search.cpp index 16c46c91..cc2a0613 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -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(); diff --git a/src/search.h b/src/search.h index 62d3fe9e..03c35f02 100644 --- a/src/search.h +++ b/src/search.h @@ -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