Retire divide command
authorlucasart <lucas.braesch@gmail.com>
Mon, 4 Aug 2014 05:54:09 +0000 (13:54 +0800)
committerlucasart <lucas.braesch@gmail.com>
Mon, 4 Aug 2014 05:54:09 +0000 (13:54 +0800)
The main purpose of perft is to help debugging. But without the breakdown in sum of perft(N-1), it is a
completely useless debugging tool.

So perft now displays the breakdown, and divide is therefore removed.

No functional change.

src/benchmark.cpp
src/uci.cpp

index 69bfc6c..76a85a8 100644 (file)
@@ -138,7 +138,7 @@ void benchmark(const Position& current, istream& is) {
 
       cerr << "\nPosition: " << i + 1 << '/' << fens.size() << endl;
 
 
       cerr << "\nPosition: " << i + 1 << '/' << fens.size() << endl;
 
-      if (limitType == "divide")
+      if (limitType == "perft")
           for (MoveList<LEGAL> it(pos); *it; ++it)
           {
               StateInfo si;
           for (MoveList<LEGAL> it(pos); *it; ++it)
           {
               StateInfo si;
@@ -148,12 +148,6 @@ void benchmark(const Position& current, istream& is) {
               cerr << move_to_uci(*it, pos.is_chess960()) << ": " << cnt << endl;
               nodes += cnt;
           }
               cerr << move_to_uci(*it, pos.is_chess960()) << ": " << cnt << endl;
               nodes += cnt;
           }
-      else if (limitType == "perft")
-      {
-          uint64_t cnt = Search::perft(pos, limits.depth * ONE_PLY);
-          cerr << "\nPerft " << limits.depth  << " leaf nodes: " << cnt << endl;
-          nodes += cnt;
-      }
       else
       {
           Threads.start_thinking(pos, limits, st);
       else
       {
           Threads.start_thinking(pos, limits, st);
index b82eeff..6027295 100644 (file)
@@ -174,7 +174,7 @@ void UCI::loop(int argc, char* argv[]) {
           else
               Search::Limits.ponder = false;
       }
           else
               Search::Limits.ponder = false;
       }
-      else if (token == "perft" || token == "divide")
+      else if (token == "perft")
       {
           int depth;
           stringstream ss;
       {
           int depth;
           stringstream ss;