]> git.sesse.net Git - stockfish/commitdiff
Tidy up comments in uci.cpp
authorMarco Costalba <mcostalba@gmail.com>
Sat, 3 Dec 2011 09:41:50 +0000 (10:41 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Sat, 3 Dec 2011 09:48:31 +0000 (10:48 +0100)
No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
src/main.cpp
src/search.cpp
src/uci.cpp

index 202cf5f36484a8891942d0a7cab7b4b8c163527d..2b039161aa18cda7f12ec3aa490499c52da7a104 100644 (file)
@@ -17,9 +17,6 @@
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-// To profile with callgrind uncomment following line
-//#define USE_CALLGRIND
-
 #include <cstdio>
 #include <iostream>
 #include <string>
 #include "search.h"
 #include "ucioption.h"
 
-#ifdef USE_CALLGRIND
-#include <valgrind/callgrind.h>
-#endif
-
 using namespace std;
 
 extern void uci_loop();
@@ -56,23 +49,18 @@ int main(int argc, char* argv[]) {
   Search::init();
   Threads.init();
 
-#ifdef USE_CALLGRIND
-  CALLGRIND_START_INSTRUMENTATION;
-#endif
-
   if (argc < 2)
   {
-      // Print copyright notice
       cout << engine_name() << " by " << engine_authors() << endl;
 
       if (CpuHasPOPCNT)
           cout << "Good! CPU has hardware POPCNT." << endl;
 
-      // Enter the UCI loop waiting for input
-      uci_loop();
+      uci_loop(); // Enter the UCI loop and wait for user input
   }
   else if (string(argv[1]) == "bench" && argc < 8)
       benchmark(argc, argv);
+
   else
       cout << "Usage: stockfish bench [hash size = 128] [threads = 1] "
            << "[limit = 12] [fen positions file = default] "
index f9d2aac69be320064a1acead3933610b499e61d7..51c2a27d330a7b12626185d74100b5bbc0bcbc6f 100644 (file)
@@ -680,7 +680,7 @@ namespace {
             {
                 // If we are allowed to ponder do not stop the search now but
                 // keep pondering until GUI sends "ponderhit" or "stop".
-                if (Limits.ponder) // FIXME racing
+                if (Limits.ponder)
                     Signals.stopOnPonderhit = true;
                 else
                     Signals.stop = true;
index 306819bb3e46f680544f4a0b0fea69a9f6921782..fb2d3eac5834e7e9d8dc28b88dc7022cef7e96fa 100644 (file)
@@ -17,7 +17,6 @@
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-#include <cassert>
 #include <iostream>
 #include <sstream>
 #include <string>
@@ -35,8 +34,8 @@ using namespace std;
 
 namespace {
 
-  // FEN string for the initial position
-  const char* StarFEN = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1";
+  // FEN string of the initial position, normal chess
+  const char* StartFEN = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1";
 
   // Keep track of position keys along the setup moves (from start position to the
   // position just before to start searching). This is needed by draw detection
@@ -51,35 +50,36 @@ namespace {
 
 
 /// Wait for a command from the user, parse this text string as an UCI command,
-/// and calls the appropriate functions. Also intercepts EOF from stdin to
-/// ensure that we exit gracefully if the GUI dies unexpectedly. In addition to
-/// the UCI commands, the function also supports a few debug commands.
+/// and call the appropriate functions. Also intercepts EOF from stdin to ensure
+/// that we exit gracefully if the GUI dies unexpectedly. In addition to the UCI
+/// commands, the function also supports a few debug commands.
 
 void uci_loop() {
 
-  Position pos(StarFEN, false, 0); // The root position
+  Position pos(StartFEN, false, 0); // The root position
   string cmd, token;
-  bool quit = false;
 
-  while (!quit && getline(cin, cmd))
+  while (token != "quit")
   {
+      if (!getline(cin, cmd)) // Block here waiting for input
+          cmd = "quit";
+
       istringstream is(cmd);
 
       is >> skipws >> token;
 
-      if (cmd == "quit" || cmd == "stop")
+      if (token == "quit" || token == "stop")
       {
-          quit = (token == "quit");
           Search::Signals.stop = true;
           Threads[0].wake_up(); // In case is waiting for stop or ponderhit
       }
 
-      else if (cmd == "ponderhit")
+      else if (token == "ponderhit")
       {
           // The opponent has played the expected move. GUI sends "ponderhit" if
           // we were told to ponder on the same move the opponent has played. We
           // should continue searching but switching from pondering to normal search.
-          Search::Limits.ponder = false; // FIXME racing
+          Search::Limits.ponder = false;
 
           if (Search::Signals.stopOnPonderhit)
               Search::Signals.stop = true;
@@ -91,7 +91,7 @@ void uci_loop() {
           go(pos, is);
 
       else if (token == "ucinewgame")
-          pos.from_fen(StarFEN, false);
+          pos.from_fen(StartFEN, false);
 
       else if (token == "isready")
           cout << "readyok" << endl;
@@ -149,7 +149,7 @@ namespace {
 
     if (token == "startpos")
     {
-        fen = StarFEN;
+        fen = StartFEN;
         is >> token; // Consume "moves" token if any
     }
     else if (token == "fen")
@@ -172,9 +172,8 @@ namespace {
   }
 
 
-  // set_option() is called when engine receives the "setoption" UCI
-  // command. The function updates the corresponding UCI option ("name")
-  // to the given value ("value").
+  // set_option() is called when engine receives the "setoption" UCI command. The
+  // function updates the UCI option ("name") to the given value ("value").
 
   void set_option(istringstream& is) {
 
@@ -197,10 +196,9 @@ namespace {
   }
 
 
-  // go() is called when engine receives the "go" UCI command. The
-  // function sets the thinking time and other parameters from the input
-  // string, and then calls think(). Returns false if a quit command
-  // is received while thinking, true otherwise.
+  // go() is called when engine receives the "go" UCI command. The function sets
+  // the thinking time and other parameters from the input string, and then starts
+  // the main searching thread.
 
   void go(Position& pos, istringstream& is) {
 
@@ -235,6 +233,7 @@ namespace {
             while (is >> token)
                 searchMoves.push_back(move_from_uci(pos, token));
     }
+
     searchMoves.push_back(MOVE_NONE);
     limits.time = time[pos.side_to_move()];
     limits.increment = inc[pos.side_to_move()];
@@ -243,21 +242,20 @@ namespace {
   }
 
 
-  // perft() is called when engine receives the "perft" command.
-  // The function calls perft() passing the required search depth
-  // then prints counted leaf nodes and elapsed time.
+  // perft() is called when engine receives the "perft" command. The function
+  // calls perft() with the required search depth then prints counted leaf nodes
+  // and elapsed time.
 
   void perft(Position& pos, istringstream& is) {
 
     int depth, time;
-    int64_t n;
 
     if (!(is >> depth))
         return;
 
     time = get_system_time();
 
-    n = Search::perft(pos, depth * ONE_PLY);
+    int64_t n = Search::perft(pos, depth * ONE_PLY);
 
     time = get_system_time() - time;