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

Retire piece.cpp

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2010-11-22 11:50:58 +01:00
parent 85df24624a
commit 00d9fe8af0
5 changed files with 13 additions and 50 deletions

View file

@ -34,7 +34,7 @@ PGOBENCH = ./$(EXE) bench 32 1 10 default depth
### 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

View file

@ -23,6 +23,7 @@
////
#include <cassert>
#include <cctype>
#include "move.h"
#include "piece.h"
@ -128,7 +129,7 @@ const std::string move_to_string(Move move, bool chess960) {
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;
}

View file

@ -1,39 +0,0 @@
/*
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;
}

View file

@ -25,6 +25,8 @@
//// Includes
////
#include <string>
#include "color.h"
#include "square.h"
#include "value.h"
@ -98,13 +100,12 @@ inline bool piece_is_ok(Piece pc) {
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)

View file

@ -85,7 +85,7 @@ const string move_to_san(Position& pos, Move m) {
{
if (pt != PAWN)
{
san += piece_type_to_char(pt, true);
san += piece_type_to_char(pt);
switch (move_ambiguity(pos, m)) {
case AMBIGUITY_NONE:
@ -113,7 +113,7 @@ const string move_to_san(Position& pos, Move m) {
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));
}
}