]> git.sesse.net Git - stockfish/blobdiff - src/misc.cpp
Shortcut sorting when no move is in history
[stockfish] / src / misc.cpp
index cf68055cd6de1013d5fdee5fc704cc480e4414cb..7a28baa384371bd64ba2d78d499aa51a2c474f4f 100644 (file)
@@ -51,6 +51,9 @@ int gettimeofday(struct timeval * tp, struct timezone * tzp);
 long dbg_cnt0 = 0;
 long dbg_cnt1 = 0;
 
+bool dbg_show_mean = false;
+bool dbg_show_hit_rate = false;
+
 
 ////
 //// Functions
@@ -63,32 +66,35 @@ void dbg_print_hit_rate() {
             << std::endl;
 }
 
-/// engine_name() returns the full name of the current Glaurung version.
-/// This will be either "Glaurung YYMMDD" (where YYMMDD is the date when the
-/// program was compiled) or "Glaurung <version number>", depending on whether
+void dbg_print_mean() {
+
+  std::cout << "Total " << dbg_cnt0 << " Mean "
+            << (float)dbg_cnt1 / (dbg_cnt0 ? dbg_cnt0 : 1) << std::endl;
+}
+
+/// engine_name() returns the full name of the current Stockfish version.
+/// This will be either "Stockfish YYMMDD" (where YYMMDD is the date when the
+/// program was compiled) or "Stockfish <version number>", depending on whether
 /// the constant EngineVersion (defined in misc.h) is empty.
 
 const std::string engine_name() {
-  if(EngineVersion == "") {
-    static const char monthNames[12][4] = {
-      "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"
-    };
-    const char *dateString = __DATE__;
-    std::stringstream s;
-    int month = 0, day = 0;
-
-    for(int i = 0; i < 12; i++)
-      if(strncmp(dateString, monthNames[i], 3) == 0)
-        month = i + 1;
-    day = atoi(dateString+4);
-
-    s << "Glaurung " << (dateString+9) << std::setfill('0') << std::setw(2)
-      << month << std::setfill('0') << std::setw(2) << day;
-
-    return s.str();
-  }
-  else
-    return "Glaurung " + EngineVersion;
+
+  if (EngineVersion.empty())
+  {
+      std::string date(__DATE__); // From compiler, format is "Sep 21 2008"
+      std::string months("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec");
+
+      size_t mon = 1 + months.find(date.substr(0, 3)) / 4;
+
+      std::stringstream s;
+      std::string day = (date[4] == ' ' ? date.substr(5, 1) : date.substr(4, 2));
+
+      s << "Stockfish " << date.substr(date.length() - 2) << std::setfill('0')
+        << std::setw(2) << mon << std::setw(2) << day;
+
+      return s.str();
+  } else
+      return "Stockfish " + EngineVersion;
 }