Final UCI helpers renaming
authorMarco Costalba <mcostalba@gmail.com>
Sun, 26 Oct 2014 06:41:25 +0000 (07:41 +0100)
committerJoona Kiiski <joona.kiiski@gmail.com>
Sun, 26 Oct 2014 19:40:04 +0000 (19:40 +0000)
To reflect new changes, specifically that
now are all under UCI namespace.

No functional change.

src/notation.cpp
src/position.cpp
src/search.cpp
src/uci.cpp
src/uci.h

index d5a263c..d167c2f 100644 (file)
@@ -29,14 +29,14 @@ using namespace std;
 static const char* PieceToChar[COLOR_NB] = { " PNBRQK", " pnbrqk" };
 
 
-/// score_to_uci() converts a value to a string suitable for use with the UCI
+/// score_to_uci() converts a Value to a string suitable for use with the UCI
 /// protocol specifications:
 ///
 /// cp <x>     The score from the engine's point of view in centipawns.
 /// mate <y>   Mate in y moves, not plies. If the engine is getting mated
 ///            use negative values for y.
 
-string UCI::score_to_uci(Value v, Value alpha, Value beta) {
+string UCI::format_value(Value v, Value alpha, Value beta) {
 
   stringstream ss;
 
@@ -51,12 +51,20 @@ string UCI::score_to_uci(Value v, Value alpha, Value beta) {
 }
 
 
-/// move_to_uci() converts a move to a string in coordinate notation
+/// format_square() converts a Square to a string (g1, a7, etc.)
+
+std::string UCI::format_square(Square s) {
+  char ch[] = { 'a' + file_of(s), '1' + rank_of(s), 0 };
+  return ch;
+}
+
+
+/// format_move() converts a Move to a string in coordinate notation
 /// (g1f3, a7a8q, etc.). The only special case is castling moves, where we print
 /// in the e1g1 notation in normal chess mode, and in e1h1 notation in chess960
 /// mode. Internally castling moves are always encoded as "king captures rook".
 
-const string UCI::move_to_uci(Move m, bool chess960) {
+string UCI::format_move(Move m, bool chess960) {
 
   Square from = from_sq(m);
   Square to = to_sq(m);
@@ -70,7 +78,7 @@ const string UCI::move_to_uci(Move m, bool chess960) {
   if (type_of(m) == CASTLING && !chess960)
       to = make_square(to > from ? FILE_G : FILE_C, rank_of(from));
 
-  string move = to_string(from) + to_string(to);
+  string move = format_square(from) + format_square(to);
 
   if (type_of(m) == PROMOTION)
       move += PieceToChar[BLACK][promotion_type(m)]; // Lower case
@@ -79,16 +87,16 @@ const string UCI::move_to_uci(Move m, bool chess960) {
 }
 
 
-/// move_from_uci() takes a position and a string representing a move in
+/// to_move() takes a position and a string representing a move in
 /// simple coordinate notation and returns an equivalent legal Move if any.
 
-Move UCI::move_from_uci(const Position& pos, string& str) {
+Move UCI::to_move(const Position& pos, string& str) {
 
   if (str.length() == 5) // Junior could send promotion piece in uppercase
       str[4] = char(tolower(str[4]));
 
   for (MoveList<LEGAL> it(pos); *it; ++it)
-      if (str == move_to_uci(*it, pos.is_chess960()))
+      if (str == format_move(*it, pos.is_chess960()))
           return *it;
 
   return MOVE_NONE;
index 8ebd542..4f72d65 100644 (file)
@@ -423,7 +423,7 @@ const string Position::fen() const {
   if (!can_castle(WHITE) && !can_castle(BLACK))
       ss << '-';
 
-  ss << (ep_square() == SQ_NONE ? " - " : " " + UCI::to_string(ep_square()) + " ")
+  ss << (ep_square() == SQ_NONE ? " - " : " " + UCI::format_square(ep_square()) + " ")
      << st->rule50 << " " << 1 + (gamePly - (sideToMove == BLACK)) / 2;
 
   return ss.str();
@@ -450,7 +450,7 @@ const string Position::pretty() const {
      << std::setfill('0') << std::setw(16) << st->key << "\nCheckers: ";
 
   for (Bitboard b = checkers(); b; )
-      ss << UCI::to_string(pop_lsb(&b)) << " ";
+      ss << UCI::format_square(pop_lsb(&b)) << " ";
 
   return ss.str();
 }
index a871626..553665e 100644 (file)
@@ -167,7 +167,7 @@ uint64_t Search::perft(Position& pos, Depth depth) {
           pos.undo_move(*it);
       }
       if (Root)
-          sync_cout << UCI::move_to_uci(*it, pos.is_chess960()) << ": " << cnt << sync_endl;
+          sync_cout << UCI::format_move(*it, pos.is_chess960()) << ": " << cnt << sync_endl;
   }
   return nodes;
 }
@@ -191,7 +191,7 @@ void Search::think() {
   {
       RootMoves.push_back(MOVE_NONE);
       sync_cout << "info depth 0 score "
-                << UCI::score_to_uci(RootPos.checkers() ? -VALUE_MATE : VALUE_DRAW)
+                << UCI::format_value(RootPos.checkers() ? -VALUE_MATE : VALUE_DRAW)
                 << sync_endl;
 
       goto finalize;
@@ -226,8 +226,8 @@ finalize:
   }
 
   // Best move could be MOVE_NONE when searching on a stalemate position
-  sync_cout << "bestmove " << UCI::move_to_uci(RootMoves[0].pv[0], RootPos.is_chess960())
-            << " ponder "  << UCI::move_to_uci(RootMoves[0].pv[1], RootPos.is_chess960())
+  sync_cout << "bestmove " << UCI::format_move(RootMoves[0].pv[0], RootPos.is_chess960())
+            << " ponder "  << UCI::format_move(RootMoves[0].pv[1], RootPos.is_chess960())
             << sync_endl;
 }
 
@@ -694,7 +694,7 @@ moves_loop: // When in check and at SpNode search starts from here
 
           if (thisThread == Threads.main() && Time::now() - SearchTime > 3000)
               sync_cout << "info depth " << depth
-                        << " currmove " << UCI::move_to_uci(move, pos.is_chess960())
+                        << " currmove " << UCI::format_move(move, pos.is_chess960())
                         << " currmovenumber " << moveCount + PVIdx << sync_endl;
       }
 
@@ -1326,7 +1326,7 @@ moves_loop: // When in check and at SpNode search starts from here
 
         ss << "info depth " << d
            << " seldepth "  << selDepth
-           << " score "     << (i == PVIdx ? UCI::score_to_uci(v, alpha, beta) : UCI::score_to_uci(v))
+           << " score "     << (i == PVIdx ? UCI::format_value(v, alpha, beta) : UCI::format_value(v))
            << " nodes "     << pos.nodes_searched()
            << " nps "       << pos.nodes_searched() * 1000 / elapsed
            << " time "      << elapsed
@@ -1334,7 +1334,7 @@ moves_loop: // When in check and at SpNode search starts from here
            << " pv";
 
         for (size_t j = 0; RootMoves[i].pv[j] != MOVE_NONE; ++j)
-            ss << " " << UCI::move_to_uci(RootMoves[i].pv[j], pos.is_chess960());
+            ss << " " << UCI::format_move(RootMoves[i].pv[j], pos.is_chess960());
     }
 
     return ss.str();
index 26f9434..b3a27fb 100644 (file)
@@ -71,7 +71,7 @@ namespace {
     SetupStates = Search::StateStackPtr(new std::stack<StateInfo>());
 
     // Parse move list (if any)
-    while (is >> token && (m = UCI::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());
@@ -116,7 +116,7 @@ namespace {
     {
         if (token == "searchmoves")
             while (is >> token)
-                limits.searchmoves.push_back(UCI::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];
index 824454b..1b60680 100644 (file)
--- a/src/uci.h
+++ b/src/uci.h
@@ -67,14 +67,10 @@ private:
 void init(OptionsMap&);
 void loop(int argc, char* argv[]);
 
-std::string score_to_uci(Value v, Value alpha = -VALUE_INFINITE, Value beta = VALUE_INFINITE);
-Move move_from_uci(const Position& pos, std::string& str);
-const std::string move_to_uci(Move m, bool chess960);
-
-inline const std::string to_string(Square s) {
-  char ch[] = { 'a' + file_of(s), '1' + rank_of(s), 0 };
-  return ch;
-}
+Move to_move(const Position& pos, std::string& str);
+std::string format_move(Move m, bool chess960);
+std::string format_value(Value v, Value alpha = -VALUE_INFINITE, Value beta = VALUE_INFINITE);
+std::string format_square(Square s);
 
 } // namespace UCI