1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-29 16:23:09 +00:00

Tidy up comments in uci.cpp

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2011-12-03 10:41:50 +01:00
parent 0f7cbaca75
commit 348f824104
3 changed files with 28 additions and 42 deletions

View 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>
@ -31,10 +28,6 @@
#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] "

View 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;

View 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;