return "0000";
if (type_of(m) == CASTLING && !chess960)
- to = (to > from ? FILE_G : FILE_C) | rank_of(from);
+ to = make_square(to > from ? FILE_G : FILE_C, rank_of(from));
- string move = square_to_string(from) + square_to_string(to);
+ string move = to_string(from) + to_string(to);
if (type_of(m) == PROMOTION)
move += PieceToChar[BLACK][promotion_type(m)]; // Lower case
while (b)
{
- Move move = make_move(pop_lsb(&b), to);
- if (!pos.legal(move, pos.pinned_pieces(pos.side_to_move())))
- others ^= from_sq(move);
+ Square sq = pop_lsb(&b);
+ if (!pos.legal(make_move(sq, to), pos.pinned_pieces(us)))
+ others ^= sq;
}
- if (others)
- {
- if (!(others & file_bb(from)))
- san += file_to_char(file_of(from));
+ if (!others)
+ { /* disambiguation is not needed */ }
- else if (!(others & rank_bb(from)))
- san += rank_to_char(rank_of(from));
+ else if (!(others & file_bb(from)))
+ san += to_char(file_of(from));
- else
- san += square_to_string(from);
- }
+ else if (!(others & rank_bb(from)))
+ san += to_char(rank_of(from));
+
+ else
+ san += to_string(from);
}
else if (pos.capture(m))
- san = file_to_char(file_of(from));
+ san = to_char(file_of(from));
if (pos.capture(m))
san += 'x';
- san += square_to_string(to);
+ san += to_string(to);
if (type_of(m) == PROMOTION)
san += string("=") + PieceToChar[WHITE][promotion_type(m)];
return s.str();
}
-string pretty_pv(Position& pos, int depth, Value value, int64_t msecs, Move pv[]) {
+string pretty_pv(Position& pos, int depth, Value value, uint64_t msecs, Move pv[]) {
- const int64_t K = 1000;
- const int64_t M = 1000000;
+ const uint64_t K = 1000;
+ const uint64_t M = 1000000;
std::stack<StateInfo> st;
Move* m = pv;