Perft should return an int64_t not an int
authorMarco Costalba <mcostalba@gmail.com>
Wed, 5 Jan 2011 16:03:57 +0000 (17:03 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Wed, 5 Jan 2011 20:13:21 +0000 (21:13 +0100)
Found by Louis Zulli with his super fast
hardware: 65M nodes/sec at perft !

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>

src/search.cpp
src/search.h
src/uci.cpp

index d75036b..ba0a47f 100644 (file)
@@ -364,12 +364,12 @@ void init_search() {
 /// perft() is our utility to verify move generation is bug free. All the legal
 /// moves up to given depth are generated and counted and the sum returned.
 
-int perft(Position& pos, Depth depth)
+int64_t perft(Position& pos, Depth depth)
 {
     MoveStack mlist[MOVES_MAX];
     StateInfo st;
     Move m;
-    int sum = 0;
+    int64_t sum = 0;
 
     // Generate all legal moves
     MoveStack* last = generate_moves(pos, mlist);
index b2c8764..22a74bc 100644 (file)
@@ -70,7 +70,7 @@ struct SearchStack {
 extern void init_search();
 extern void init_threads();
 extern void exit_threads();
-extern int perft(Position& pos, Depth depth);
+extern int64_t perft(Position& pos, Depth depth);
 extern bool think(Position& pos, bool infinite, bool ponder, int time[], int increment[],
                   int movesToGo, int maxDepth, int maxNodes, int maxTime, Move searchMoves[]);
 
index 1b10c7b..28cbacb 100644 (file)
@@ -287,7 +287,8 @@ namespace {
 
   void perft(Position& pos, UCIParser& up) {
 
-    int depth, tm, n;
+    int depth, tm;
+    int64_t n;
 
     if (!(up >> depth))
         return;