X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fuci.cpp;h=c44c23fa12af2b505a72f762f4b7a979daaa53f3;hp=02a3c30c79f5ea338d611f0b399ef796b57b9b53;hb=ea5616785e7cc35808d75897282109c51e823caa;hpb=0759d8f4302d0ad262a2dabca465f1618677aeba diff --git a/src/uci.cpp b/src/uci.cpp index 02a3c30c..c44c23fa 100644 --- a/src/uci.cpp +++ b/src/uci.cpp @@ -1,7 +1,7 @@ /* Stockfish, a UCI chess playing engine derived from Glaurung 2.1 Copyright (C) 2004-2008 Tord Romstad (Glaurung author) - Copyright (C) 2008-2010 Marco Costalba, Joona Kiiski, Tord Romstad + Copyright (C) 2008-2012 Marco Costalba, Joona Kiiski, Tord Romstad Stockfish is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,7 +20,6 @@ #include #include #include -#include #include "evaluate.h" #include "misc.h" @@ -68,10 +67,7 @@ void uci_loop() { is >> skipws >> token; if (token == "quit" || token == "stop") - { - Search::Signals.stop = true; - Threads[0].wake_up(); // In case is waiting for stop or ponderhit - } + Threads.stop_thinking(); else if (token == "ponderhit") { @@ -81,9 +77,7 @@ void uci_loop() { Search::Limits.ponder = false; if (Search::Signals.stopOnPonderhit) - Search::Signals.stop = true; - - Threads[0].wake_up(); // In case is waiting for stop or ponderhit + Threads.stop_thinking(); } else if (token == "go") @@ -122,8 +116,7 @@ void uci_loop() { << "\npawn key: " << pos.pawn_key() << endl; else if (token == "uci") - cout << "id name " << engine_name() - << "\nid author " << engine_authors() + cout << "id name " << engine_info(true) << "\n" << Options << "\nuciok" << endl; else @@ -207,7 +200,7 @@ namespace { string token; Search::LimitsType limits; - std::vector searchMoves; + std::set searchMoves; int time[] = { 0, 0 }, inc[] = { 0, 0 }; while (is >> token) @@ -234,7 +227,7 @@ namespace { is >> limits.maxTime; else if (token == "searchmoves") while (is >> token) - searchMoves.push_back(move_from_uci(pos, token)); + searchMoves.insert(move_from_uci(pos, token)); } limits.time = time[pos.side_to_move()];