]> git.sesse.net Git - stockfish/blobdiff - src/search.cpp
Simplify debug functions
[stockfish] / src / search.cpp
index c7bc8d1752f8c15e18ecf43baf1d3e0ae8f329d5..ebdcff0fa14f754b8c56f9bd66db05adf8c8e71c 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-2010 Marco Costalba, Joona Kiiski, Tord Romstad
+  Copyright (C) 2008-2012 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
@@ -67,7 +67,6 @@ namespace {
 
     RootMove(){}
     RootMove(Move m) {
-      nodes = 0;
       score = prevScore = -VALUE_INFINITE;
       pv.push_back(m);
       pv.push_back(MOVE_NONE);
@@ -79,7 +78,6 @@ namespace {
     void extract_pv_from_tt(Position& pos);
     void insert_pv_in_tt(Position& pos);
 
-    int64_t nodes;
     Value score;
     Value prevScore;
     std::vector<Move> pv;
@@ -254,22 +252,22 @@ void Search::init() {
 int64_t Search::perft(Position& pos, Depth depth) {
 
   StateInfo st;
-  int64_t sum = 0;
+  int64_t cnt = 0;
 
   MoveList<MV_LEGAL> ml(pos);
 
   // At the last ply just return the number of moves (leaf nodes)
-  if (depth <= ONE_PLY)
+  if (depth == ONE_PLY)
       return ml.size();
 
   CheckInfo ci(pos);
   for ( ; !ml.end(); ++ml)
   {
       pos.do_move(ml.move(), st, ci, pos.move_gives_check(ml.move(), ci));
-      sum += perft(pos, depth - ONE_PLY);
+      cnt += perft(pos, depth - ONE_PLY);
       pos.undo_move(ml.move());
   }
-  return sum;
+  return cnt;
 }
 
 
@@ -594,7 +592,6 @@ namespace {
     assert(pos.thread() >= 0 && pos.thread() < Threads.size());
 
     Move movesSearched[MAX_MOVES];
-    int64_t nodes;
     StateInfo st;
     const TTEntry *tte;
     Key posKey;
@@ -901,7 +898,6 @@ split_point_start: // At split points actual search starts from here
       if (RootNode)
       {
           Signals.firstRootMove = (moveCount == 1);
-          nodes = pos.nodes_searched();
 
           if (pos.thread() == 0 && elapsed_time() > 2000)
               cout << "info depth " << depth / ONE_PLY
@@ -1068,7 +1064,6 @@ split_point_start: // At split points actual search starts from here
       if (RootNode && !Signals.stop)
       {
           RootMove& rm = *find(RootMoves.begin(), RootMoves.end(), move);
-          rm.nodes += pos.nodes_searched() - nodes;
 
           // PV move or new best move ?
           if (isPvMove || value > alpha)
@@ -1979,9 +1974,7 @@ void do_timer_event() {
   if (system_time() - lastInfoTime >= 1000 || !lastInfoTime)
   {
       lastInfoTime = system_time();
-
-      dbg_print_mean();
-      dbg_print_hit_rate();
+      dbg_print();
   }
 
   if (Limits.ponder)