Remove some useless wrappers and make
the conversion explicit and starightforward.
No functional change.
Move move_from_uci(const Position& pos, std::string& str);
const std::string move_to_uci(Move m, bool chess960);
Move move_from_uci(const Position& pos, std::string& str);
const std::string move_to_uci(Move m, bool chess960);
-inline char to_char(File f, bool tolower = true) {
- return char(f - FILE_A + (tolower ? 'a' : 'A'));
-}
-
-inline char to_char(Rank r) {
- return char(r - RANK_1 + '1');
-}
-
inline const std::string to_string(Square s) {
inline const std::string to_string(Square s) {
- char ch[] = { to_char(file_of(s)), to_char(rank_of(s)), 0 };
+ char ch[] = { 'a' + file_of(s), '1' + rank_of(s), 0 };
ss << (sideToMove == WHITE ? " w " : " b ");
if (can_castle(WHITE_OO))
ss << (sideToMove == WHITE ? " w " : " b ");
if (can_castle(WHITE_OO))
- ss << (chess960 ? to_char(file_of(castling_rook_square(WHITE | KING_SIDE)), false) : 'K');
+ ss << (chess960 ? 'A' + file_of(castling_rook_square(WHITE | KING_SIDE)) : 'K');
if (can_castle(WHITE_OOO))
if (can_castle(WHITE_OOO))
- ss << (chess960 ? to_char(file_of(castling_rook_square(WHITE | QUEEN_SIDE)), false) : 'Q');
+ ss << (chess960 ? 'A' + file_of(castling_rook_square(WHITE | QUEEN_SIDE)) : 'Q');
if (can_castle(BLACK_OO))
if (can_castle(BLACK_OO))
- ss << (chess960 ? to_char(file_of(castling_rook_square(BLACK | KING_SIDE)), true) : 'k');
+ ss << (chess960 ? 'a' + file_of(castling_rook_square(BLACK | KING_SIDE)) : 'k');
if (can_castle(BLACK_OOO))
if (can_castle(BLACK_OOO))
- ss << (chess960 ? to_char(file_of(castling_rook_square(BLACK | QUEEN_SIDE)), true) : 'q');
+ ss << (chess960 ? 'a' + file_of(castling_rook_square(BLACK | QUEEN_SIDE)) : 'q');
if (!can_castle(WHITE) && !can_castle(BLACK))
ss << '-';
if (!can_castle(WHITE) && !can_castle(BLACK))
ss << '-';