### Object files
OBJS = application.o bitboard.o pawns.o material.o endgame.o evaluate.o main.o \
- misc.o move.o movegen.o history.o movepick.o search.o piece.o position.o \
+ misc.o move.o movegen.o history.o movepick.o search.o position.o \
direction.o tt.o uci.o ucioption.o book.o bitbase.o san.o benchmark.o timeman.o
////
#include <cassert>
+#include <cctype>
#include "move.h"
#include "piece.h"
str = square_to_string(from) + square_to_string(to);
if (move_is_promotion(move))
- str += piece_type_to_char(move_promotion_piece(move), false);
+ str += char(tolower(piece_type_to_char(move_promotion_piece(move))));
}
return str;
}
+++ /dev/null
-/*
- Stockfish, a UCI chess playing engine derived from Glaurung 2.1
- Copyright (C) 2004-2008 Tord Romstad (Glaurung author)
- Copyright (C) 2008-2010 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/>.
-*/
-
-#include <string>
-
-#include "piece.h"
-
-static const std::string PieceChars(" pnbrqk PNBRQK");
-
-
-/// Translating piece types to/from English piece letters
-
-char piece_type_to_char(PieceType pt, bool upcase) {
-
- return PieceChars[pt + (upcase ? 7 : 0)];
-}
-
-PieceType piece_type_from_char(char c) {
-
- size_t idx = PieceChars.find(c);
-
- return idx != std::string::npos ? PieceType(idx % 7) : PIECE_TYPE_NONE;
-}
//// Includes
////
+#include <string>
+
#include "color.h"
#include "square.h"
#include "value.h"
return piece_type_is_ok(type_of_piece(pc)) && color_is_ok(color_of_piece(pc));
}
+inline char piece_type_to_char(PieceType pt) {
+ return std::string(" PNBRQK")[pt];
+}
-////
-//// Prototypes
-////
-
-extern char piece_type_to_char(PieceType pt, bool upcase = false);
-extern PieceType piece_type_from_char(char c);
-
+inline PieceType piece_type_from_char(char c) {
+ return PieceType(std::string(" PNBRQK").find(c));
+}
#endif // !defined(PIECE_H_INCLUDED)
{
if (pt != PAWN)
{
- san += piece_type_to_char(pt, true);
+ san += piece_type_to_char(pt);
switch (move_ambiguity(pos, m)) {
case AMBIGUITY_NONE:
if (move_is_promotion(m))
{
san += "=";
- san += piece_type_to_char(move_promotion_piece(m), true);
+ san += piece_type_to_char(move_promotion_piece(m));
}
}