X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fuci.cpp;h=b3a27fbc8e06528c3e9f3c986b9c6f88c2ebdad7;hp=af940ce0634ff1d6f33330d098e7eb7fb9cc91b9;hb=2469daebb1b2ec2ca1653754c35327c16838938e;hpb=55604f156b2293e870984c6bb57c1954ad5a9517 diff --git a/src/uci.cpp b/src/uci.cpp index af940ce0..b3a27fbc 100644 --- a/src/uci.cpp +++ b/src/uci.cpp @@ -23,12 +23,11 @@ #include #include "evaluate.h" -#include "notation.h" #include "position.h" #include "search.h" #include "thread.h" #include "tt.h" -#include "ucioption.h" +#include "uci.h" using namespace std; @@ -72,7 +71,7 @@ namespace { SetupStates = Search::StateStackPtr(new std::stack()); // Parse move list (if any) - while (is >> token && (m = move_from_uci(pos, token)) != MOVE_NONE) + while (is >> token && (m = UCI::to_move(pos, token)) != MOVE_NONE) { SetupStates->push(StateInfo()); pos.do_move(m, SetupStates->top()); @@ -117,7 +116,7 @@ namespace { { if (token == "searchmoves") while (is >> token) - limits.searchmoves.push_back(move_from_uci(pos, token)); + limits.searchmoves.push_back(UCI::to_move(pos, token)); else if (token == "wtime") is >> limits.time[WHITE]; else if (token == "btime") is >> limits.time[BLACK]; @@ -174,12 +173,14 @@ void UCI::loop(int argc, char* argv[]) { else Search::Limits.ponder = false; } - else if (token == "perft" && (is >> token)) // Read perft depth + else if (token == "perft") { + int depth; stringstream ss; + is >> depth; ss << Options["Hash"] << " " - << Options["Threads"] << " " << token << " current perft"; + << Options["Threads"] << " " << depth << " current " << token; benchmark(pos, ss); } @@ -195,11 +196,6 @@ void UCI::loop(int argc, char* argv[]) { << "\n" << Options << "\nuciok" << sync_endl; - else if (token == "eval") - { - Search::RootColor = pos.side_to_move(); // Ensure it is set - sync_cout << Eval::trace(pos) << sync_endl; - } else if (token == "ucinewgame") TT.clear(); else if (token == "go") go(pos, is); else if (token == "position") position(pos, is); @@ -208,6 +204,7 @@ void UCI::loop(int argc, char* argv[]) { else if (token == "bench") benchmark(pos, is); else if (token == "d") sync_cout << pos.pretty() << sync_endl; else if (token == "isready") sync_cout << "readyok" << sync_endl; + else if (token == "eval") sync_cout << Eval::trace(pos) << sync_endl; else sync_cout << "Unknown command: " << cmd << sync_endl;