Retire notation.h
authorMarco Costalba <mcostalba@gmail.com>
Sun, 26 Oct 2014 06:16:16 +0000 (07:16 +0100)
committerJoona Kiiski <joona.kiiski@gmail.com>
Sun, 26 Oct 2014 19:39:56 +0000 (19:39 +0000)
And move the few remaining content
under UCI namespace where they belong.

No functional change.

src/benchmark.cpp
src/notation.cpp
src/notation.h [deleted file]
src/position.cpp
src/search.cpp
src/uci.cpp
src/uci.h

index 6cda074..c861c8f 100644 (file)
@@ -24,7 +24,6 @@
 #include <vector>
 
 #include "misc.h"
-#include "notation.h"
 #include "position.h"
 #include "search.h"
 #include "thread.h"
index a2d898a..d5a263c 100644 (file)
@@ -21,8 +21,8 @@
 #include <sstream>
 
 #include "movegen.h"
-#include "notation.h"
 #include "position.h"
+#include "uci.h"
 
 using namespace std;
 
@@ -36,7 +36,7 @@ static const char* PieceToChar[COLOR_NB] = { " PNBRQK", " pnbrqk" };
 /// mate <y>   Mate in y moves, not plies. If the engine is getting mated
 ///            use negative values for y.
 
-string score_to_uci(Value v, Value alpha, Value beta) {
+string UCI::score_to_uci(Value v, Value alpha, Value beta) {
 
   stringstream ss;
 
@@ -56,7 +56,7 @@ string score_to_uci(Value v, Value alpha, Value beta) {
 /// 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 move_to_uci(Move m, bool chess960) {
+const string UCI::move_to_uci(Move m, bool chess960) {
 
   Square from = from_sq(m);
   Square to = to_sq(m);
@@ -82,7 +82,7 @@ const string move_to_uci(Move m, bool chess960) {
 /// move_from_uci() takes a position and a string representing a move in
 /// simple coordinate notation and returns an equivalent legal Move if any.
 
-Move move_from_uci(const Position& pos, string& str) {
+Move UCI::move_from_uci(const Position& pos, string& str) {
 
   if (str.length() == 5) // Junior could send promotion piece in uppercase
       str[4] = char(tolower(str[4]));
diff --git a/src/notation.h b/src/notation.h
deleted file mode 100644 (file)
index 12f4cfa..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-  Stockfish, a UCI chess playing engine derived from Glaurung 2.1
-  Copyright (C) 2004-2008 Tord Romstad (Glaurung author)
-  Copyright (C) 2008-2014 Marco Costalba, Joona Kiiski, Tord Romstad
-
-  Stockfish is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  Stockfish is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef NOTATION_H_INCLUDED
-#define NOTATION_H_INCLUDED
-
-#include <string>
-
-#include "types.h"
-
-class Position;
-
-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;
-}
-
-#endif // #ifndef NOTATION_H_INCLUDED
index ba399b1..8ebd542 100644 (file)
 
 #include "bitcount.h"
 #include "movegen.h"
-#include "notation.h"
 #include "position.h"
 #include "psqtab.h"
 #include "rkiss.h"
 #include "thread.h"
 #include "tt.h"
+#include "uci.h"
 
 using std::string;
 
@@ -423,7 +423,7 @@ const string Position::fen() const {
   if (!can_castle(WHITE) && !can_castle(BLACK))
       ss << '-';
 
-  ss << (ep_square() == SQ_NONE ? " - " : " " + to_string(ep_square()) + " ")
+  ss << (ep_square() == SQ_NONE ? " - " : " " + UCI::to_string(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 << to_string(pop_lsb(&b)) << " ";
+      ss << UCI::to_string(pop_lsb(&b)) << " ";
 
   return ss.str();
 }
index 19955a8..a871626 100644 (file)
@@ -27,7 +27,6 @@
 #include "evaluate.h"
 #include "movegen.h"
 #include "movepick.h"
-#include "notation.h"
 #include "rkiss.h"
 #include "search.h"
 #include "timeman.h"
@@ -168,7 +167,7 @@ uint64_t Search::perft(Position& pos, Depth depth) {
           pos.undo_move(*it);
       }
       if (Root)
-          sync_cout << move_to_uci(*it, pos.is_chess960()) << ": " << cnt << sync_endl;
+          sync_cout << UCI::move_to_uci(*it, pos.is_chess960()) << ": " << cnt << sync_endl;
   }
   return nodes;
 }
@@ -192,7 +191,7 @@ void Search::think() {
   {
       RootMoves.push_back(MOVE_NONE);
       sync_cout << "info depth 0 score "
-                << score_to_uci(RootPos.checkers() ? -VALUE_MATE : VALUE_DRAW)
+                << UCI::score_to_uci(RootPos.checkers() ? -VALUE_MATE : VALUE_DRAW)
                 << sync_endl;
 
       goto finalize;
@@ -227,8 +226,8 @@ finalize:
   }
 
   // Best move could be MOVE_NONE when searching on a stalemate position
-  sync_cout << "bestmove " << move_to_uci(RootMoves[0].pv[0], RootPos.is_chess960())
-            << " ponder "  << move_to_uci(RootMoves[0].pv[1], RootPos.is_chess960())
+  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_endl;
 }
 
@@ -695,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 " << move_to_uci(move, pos.is_chess960())
+                        << " currmove " << UCI::move_to_uci(move, pos.is_chess960())
                         << " currmovenumber " << moveCount + PVIdx << sync_endl;
       }
 
@@ -1327,7 +1326,7 @@ moves_loop: // When in check and at SpNode search starts from here
 
         ss << "info depth " << d
            << " seldepth "  << selDepth
-           << " score "     << (i == PVIdx ? score_to_uci(v, alpha, beta) : score_to_uci(v))
+           << " score "     << (i == PVIdx ? UCI::score_to_uci(v, alpha, beta) : UCI::score_to_uci(v))
            << " nodes "     << pos.nodes_searched()
            << " nps "       << pos.nodes_searched() * 1000 / elapsed
            << " time "      << elapsed
@@ -1335,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 << " " << move_to_uci(RootMoves[i].pv[j], pos.is_chess960());
+            ss << " " << UCI::move_to_uci(RootMoves[i].pv[j], pos.is_chess960());
     }
 
     return ss.str();
index a9391b5..26f9434 100644 (file)
@@ -23,7 +23,6 @@
 #include <string>
 
 #include "evaluate.h"
-#include "notation.h"
 #include "position.h"
 #include "search.h"
 #include "thread.h"
@@ -72,7 +71,7 @@ namespace {
     SetupStates = Search::StateStackPtr(new std::stack<StateInfo>());
 
     // Parse move list (if any)
-    while (is >> token && (m = move_from_uci(pos, token)) != MOVE_NONE)
+    while (is >> token && (m = UCI::move_from_uci(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::move_from_uci(pos, token));
 
         else if (token == "wtime")     is >> limits.time[WHITE];
         else if (token == "btime")     is >> limits.time[BLACK];
index 87411a4..824454b 100644 (file)
--- a/src/uci.h
+++ b/src/uci.h
 #include <map>
 #include <string>
 
+#include "types.h"
+
+class Position;
+
 namespace UCI {
 
 class Option;
@@ -63,6 +67,15 @@ 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;
+}
+
 } // namespace UCI
 
 extern UCI::OptionsMap Options;