From 348f8241041a26cd9458beb8098306099f44a46a Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Sat, 3 Dec 2011 10:41:50 +0100 Subject: [PATCH] Tidy up comments in uci.cpp No functional change. Signed-off-by: Marco Costalba --- src/main.cpp | 16 ++-------------- src/search.cpp | 2 +- src/uci.cpp | 52 ++++++++++++++++++++++++-------------------------- 3 files changed, 28 insertions(+), 42 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 202cf5f3..2b039161 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -17,9 +17,6 @@ along with this program. If not, see . */ -// To profile with callgrind uncomment following line -//#define USE_CALLGRIND - #include #include #include @@ -31,10 +28,6 @@ #include "search.h" #include "ucioption.h" -#ifdef USE_CALLGRIND -#include -#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] " diff --git a/src/search.cpp b/src/search.cpp index f9d2aac6..51c2a27d 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -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; diff --git a/src/uci.cpp b/src/uci.cpp index 306819bb..fb2d3eac 100644 --- a/src/uci.cpp +++ b/src/uci.cpp @@ -17,7 +17,6 @@ along with this program. If not, see . */ -#include #include #include #include @@ -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; -- 2.39.2