+ // pv_to_uci() returns a string with information on the current PV line
+ // formatted according to UCI specification.
+
+ std::string pv_to_uci(Move pv[], int pvNum) {
+
+ std::stringstream s;
+
+ s << " multipv " << pvNum << " pv ";
+
+ for ( ; *pv != MOVE_NONE; pv++)
+ s << *pv << " ";
+
+ return s.str();
+ }
+
+ // depth_to_uci() returns a string with information on the current depth and
+ // seldepth formatted according to UCI specification.
+
+ std::string depth_to_uci(Depth depth) {
+
+ std::stringstream s;
+
+ // Retrieve max searched depth among threads
+ int selDepth = 0;
+ for (int i = 0; i < Threads.size(); i++)
+ if (Threads[i].maxPly > selDepth)
+ selDepth = Threads[i].maxPly;
+
+ s << " depth " << depth / ONE_PLY << " seldepth " << selDepth;
+
+ return s.str();
+ }
+