}
else if (token == "setoption") setoption(is);
else if (token == "position") position(pos, is, states);
- else if (token == "ucinewgame") Search::clear();
+ else if (token == "ucinewgame") { Search::clear(); elapsed = now(); } // Search::clear() may take some while
}
elapsed = now() - elapsed + 1; // Ensure positivity to avoid a 'divide by zero'
Position pos;
string token, cmd;
StateListPtr states(new std::deque<StateInfo>(1));
- auto uiThread = std::make_shared<Thread>(0);
- pos.set(StartFEN, false, &states->back(), uiThread.get());
+ pos.set(StartFEN, false, &states->back(), Threads.main());
for (int i = 1; i < argc; ++i)
cmd += std::string(argv[i]) + " ";
else if (token == "ucinewgame") Search::clear();
else if (token == "isready") sync_cout << "readyok" << sync_endl;
- // Additional custom non-UCI commands, mainly for debugging
+ // Additional custom non-UCI commands, mainly for debugging.
+ // Do not use these commands during a search!
else if (token == "flip") pos.flip();
else if (token == "bench") bench(pos, is, states);
else if (token == "d") sync_cout << pos << sync_endl;