X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fsearch.cpp;h=ea1ed57ab0846068d1d9d182c4115837a3b15e98;hp=a16fceb1351f3a9bda4f7c8619f2201ae9d301ad;hb=f1359845dee95df382f60da4f19068a122f95350;hpb=8a9b9ec96a3bf04366dbac710d7019d081922186 diff --git a/src/search.cpp b/src/search.cpp index a16fceb1..ea1ed57a 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -27,13 +27,12 @@ #include "evaluate.h" #include "movegen.h" #include "movepick.h" -#include "notation.h" #include "rkiss.h" #include "search.h" #include "timeman.h" #include "thread.h" #include "tt.h" -#include "ucioption.h" +#include "uci.h" namespace Search { @@ -168,7 +167,7 @@ uint64_t Search::perft(Position& pos, Depth depth) { pos.undo_move(*it); } if (Root) - sync_cout << move_to_uci(*it, pos.is_chess960()) << ": " << cnt << sync_endl; + sync_cout << UCI::format_move(*it, pos.is_chess960()) << ": " << cnt << sync_endl; } return nodes; } @@ -192,7 +191,7 @@ void Search::think() { { RootMoves.push_back(MOVE_NONE); sync_cout << "info depth 0 score " - << score_to_uci(RootPos.checkers() ? -VALUE_MATE : VALUE_DRAW) + << UCI::format_value(RootPos.checkers() ? -VALUE_MATE : VALUE_DRAW) << sync_endl; goto finalize; @@ -227,8 +226,8 @@ finalize: } // Best move could be MOVE_NONE when searching on a stalemate position - sync_cout << "bestmove " << move_to_uci(RootMoves[0].pv[0], RootPos.is_chess960()) - << " ponder " << move_to_uci(RootMoves[0].pv[1], RootPos.is_chess960()) + sync_cout << "bestmove " << UCI::format_move(RootMoves[0].pv[0], RootPos.is_chess960()) + << " ponder " << UCI::format_move(RootMoves[0].pv[1], RootPos.is_chess960()) << sync_endl; } @@ -342,7 +341,9 @@ namespace { // Sort the PV lines searched so far and update the GUI std::stable_sort(RootMoves.begin(), RootMoves.begin() + PVIdx + 1); - if (PVIdx + 1 == std::min(multiPV, RootMoves.size()) || Time::now() - SearchTime > 3000) + if ( !Signals.stop + && ( PVIdx + 1 == std::min(multiPV, RootMoves.size()) + || Time::now() - SearchTime > 3000)) sync_cout << uci_pv(pos, depth, alpha, beta) << sync_endl; } @@ -695,7 +696,7 @@ moves_loop: // When in check and at SpNode search starts from here if (thisThread == Threads.main() && Time::now() - SearchTime > 3000) sync_cout << "info depth " << depth - << " currmove " << move_to_uci(move, pos.is_chess960()) + << " currmove " << UCI::format_move(move, pos.is_chess960()) << " currmovenumber " << moveCount + PVIdx << sync_endl; } @@ -1327,15 +1328,15 @@ moves_loop: // When in check and at SpNode search starts from here ss << "info depth " << d << " seldepth " << selDepth - << " score " << (i == PVIdx ? score_to_uci(v, alpha, beta) : score_to_uci(v)) + << " multipv " << i + 1 + << " score " << (i == PVIdx ? UCI::format_value(v, alpha, beta) : UCI::format_value(v)) << " nodes " << pos.nodes_searched() << " nps " << pos.nodes_searched() * 1000 / elapsed << " time " << elapsed - << " multipv " << i + 1 << " pv"; for (size_t j = 0; RootMoves[i].pv[j] != MOVE_NONE; ++j) - ss << " " << move_to_uci(RootMoves[i].pv[j], pos.is_chess960()); + ss << " " << UCI::format_move(RootMoves[i].pv[j], pos.is_chess960()); } return ss.str();