mirror of
https://github.com/peterosterlund2/droidfish.git
synced 2025-12-17 19:22:18 +01:00
DroidFish: Updated stockfish engine to version 4.
This commit is contained in:
@@ -42,8 +42,8 @@ namespace {
|
||||
// position just before to start searching). Needed by repetition draw detection.
|
||||
Search::StateStackPtr SetupStates;
|
||||
|
||||
void set_option(istringstream& up);
|
||||
void set_position(Position& pos, istringstream& up);
|
||||
void setoption(istringstream& up);
|
||||
void position(Position& pos, istringstream& up);
|
||||
void go(const Position& pos, istringstream& up);
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ namespace {
|
||||
|
||||
void UCI::loop(const string& args) {
|
||||
|
||||
Position pos(StartFEN, false, Threads.main_thread()); // The root position
|
||||
Position pos(StartFEN, false, Threads.main()); // The root position
|
||||
string token, cmd = args;
|
||||
|
||||
do {
|
||||
@@ -76,7 +76,7 @@ void UCI::loop(const string& args) {
|
||||
if (token != "ponderhit" || Search::Signals.stopOnPonderhit)
|
||||
{
|
||||
Search::Signals.stop = true;
|
||||
Threads.main_thread()->notify_one(); // Could be sleeping
|
||||
Threads.main()->notify_one(); // Could be sleeping
|
||||
}
|
||||
else
|
||||
Search::Limits.ponder = false;
|
||||
@@ -102,15 +102,19 @@ void UCI::loop(const string& args) {
|
||||
<< "\n" << Options
|
||||
<< "\nuciok" << sync_endl;
|
||||
|
||||
else if (token == "eval")
|
||||
{
|
||||
Search::RootColor = pos.side_to_move(); // Ensure it is set
|
||||
sync_cout << Eval::trace(pos) << sync_endl;
|
||||
}
|
||||
else if (token == "ucinewgame") { /* Avoid returning "Unknown command" */ }
|
||||
else if (token == "go") go(pos, is);
|
||||
else if (token == "position") set_position(pos, is);
|
||||
else if (token == "setoption") set_option(is);
|
||||
else if (token == "position") position(pos, is);
|
||||
else if (token == "setoption") setoption(is);
|
||||
else if (token == "flip") pos.flip();
|
||||
else if (token == "bench") benchmark(pos, is);
|
||||
else if (token == "d") sync_cout << pos.pretty() << sync_endl;
|
||||
else if (token == "isready") sync_cout << "readyok" << sync_endl;
|
||||
else if (token == "eval") sync_cout << Eval::trace(pos) << sync_endl;
|
||||
else
|
||||
sync_cout << "Unknown command: " << cmd << sync_endl;
|
||||
|
||||
@@ -122,12 +126,12 @@ void UCI::loop(const string& args) {
|
||||
|
||||
namespace {
|
||||
|
||||
// set_position() is called when engine receives the "position" UCI command.
|
||||
// position() is called when engine receives the "position" UCI command.
|
||||
// The function sets up the position described in the given fen string ("fen")
|
||||
// or the starting position ("startpos") and then makes the moves given in the
|
||||
// following move list ("moves").
|
||||
|
||||
void set_position(Position& pos, istringstream& is) {
|
||||
void position(Position& pos, istringstream& is) {
|
||||
|
||||
Move m;
|
||||
string token, fen;
|
||||
@@ -145,7 +149,7 @@ namespace {
|
||||
else
|
||||
return;
|
||||
|
||||
pos.set(fen, Options["UCI_Chess960"], Threads.main_thread());
|
||||
pos.set(fen, Options["UCI_Chess960"], Threads.main());
|
||||
SetupStates = Search::StateStackPtr(new std::stack<StateInfo>());
|
||||
|
||||
// Parse move list (if any)
|
||||
@@ -157,10 +161,10 @@ namespace {
|
||||
}
|
||||
|
||||
|
||||
// set_option() is called when engine receives the "setoption" UCI command. The
|
||||
// setoption() is called when engine receives the "setoption" UCI command. The
|
||||
// function updates the UCI option ("name") to the given value ("value").
|
||||
|
||||
void set_option(istringstream& is) {
|
||||
void setoption(istringstream& is) {
|
||||
|
||||
string token, name, value;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user