From: jundery Date: Tue, 19 Feb 2013 07:54:16 +0000 (-0700) Subject: Print leading zeroes in hash keys X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=d5e49a3ad44bde500102090e7fe2c19027a73b14 Print leading zeroes in hash keys And convert to uppercase. Reset the stream to dec too. [Edit: Also fixed the hash key in Position::pretty()] --- diff --git a/src/position.cpp b/src/position.cpp index 8c36d9ac..ad699cc0 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -19,6 +19,7 @@ #include #include +#include #include #include #include @@ -400,7 +401,8 @@ const string Position::pretty(Move move) const { if (piece_on(sq) != NO_PIECE) brd[513 - 68*rank_of(sq) + 4*file_of(sq)] = PieceToChar[piece_on(sq)]; - ss << brd << "\nFen: " << fen() << "\nKey: " << st->key << "\nCheckers: "; + ss << brd << "\nFen: " << fen() << "\nKey: " << std::hex << std::uppercase + << std::setfill('0') << std::setw(16) << st->key << "\nCheckers: "; for (Bitboard b = checkers(); b; ) ss << square_to_string(pop_lsb(&b)) << " "; diff --git a/src/uci.cpp b/src/uci.cpp index bd5f4296..c8f50446 100644 --- a/src/uci.cpp +++ b/src/uci.cpp @@ -17,6 +17,7 @@ along with this program. If not, see . */ +#include #include #include #include @@ -90,14 +91,17 @@ void UCI::loop(const string& args) { benchmark(pos, ss); } - else if (token == "key") sync_cout << "position key: " << hex << pos.key() - << "\nmaterial key: " << pos.material_key() - << "\npawn key: " << pos.pawn_key() - << sync_endl; - - else if (token == "uci") sync_cout << "id name " << engine_info(true) - << "\n" << Options - << "\nuciok" << sync_endl; + else if (token == "key") + sync_cout << hex << uppercase << setfill('0') + << "position key: " << setw(16) << pos.key() + << "\nmaterial key: " << setw(16) << pos.material_key() + << "\npawn key: " << setw(16) << pos.pawn_key() + << dec << sync_endl; + + else if (token == "uci") + sync_cout << "id name " << engine_info(true) + << "\n" << Options + << "\nuciok" << sync_endl; else if (token == "ucinewgame") TT.clear(); else if (token == "go") go(pos, is);