/// UCI::square() converts a Square to a string in algebraic notation (g1, a7, etc.)
std::string UCI::square(Square s) {
/// UCI::square() converts a Square to a string in algebraic notation (g1, a7, etc.)
std::string UCI::square(Square s) {
if (str.length() == 5) // Junior could send promotion piece in uppercase
str[4] = char(tolower(str[4]));
if (str.length() == 5) // Junior could send promotion piece in uppercase
str[4] = char(tolower(str[4]));
- for (const ExtMove& ms : MoveList<LEGAL>(pos))
- if (str == UCI::move(ms.move, pos.is_chess960()))
- return ms.move;
+ for (MoveList<LEGAL> it(pos); *it; ++it)
+ if (str == UCI::move(*it, pos.is_chess960()))
+ return *it;