+ else if (token == "setoption")
+ setoption(is);
+ else if (token == "go")
+ {
+ // send info strings after the go command is sent for old GUIs and python-chess
+ print_info_string(engine.numa_config_information_as_string());
+ print_info_string(engine.thread_binding_information_as_string());
+ go(is);
+ }
+ else if (token == "position")
+ position(is);
+ else if (token == "ucinewgame")
+ engine.search_clear();
+ else if (token == "isready")
+ sync_cout << "readyok" << sync_endl;
+
+ // Add custom non-UCI commands, mainly for debugging purposes.
+ // These commands must not be used during a search!
+ else if (token == "flip")
+ engine.flip();
+ else if (token == "bench")
+ bench(is);
+ else if (token == "d")
+ sync_cout << engine.visualize() << sync_endl;
+ else if (token == "eval")
+ engine.trace_eval();
+ else if (token == "compiler")
+ sync_cout << compiler_info() << sync_endl;
+ else if (token == "export_net")
+ {
+ std::pair<std::optional<std::string>, std::string> files[2];