Don't assume the type of Time::point
[stockfish] / src / misc.h
index 28bf045..37f1e70 100644 (file)
@@ -21,6 +21,7 @@
 #define MISC_H_INCLUDED
 
 #include <cassert>
+#include <chrono>
 #include <ostream>
 #include <string>
 #include <vector>
@@ -36,13 +37,13 @@ void dbg_hit_on(bool c, bool b);
 void dbg_mean_of(int v);
 void dbg_print();
 
+typedef std::chrono::milliseconds::rep TimePoint; // A value in milliseconds
 
-namespace Time {
-  typedef int64_t point;
-  point now();
+inline TimePoint now() {
+  return std::chrono::duration_cast<std::chrono::milliseconds>
+        (std::chrono::steady_clock::now().time_since_epoch()).count();
 }
 
-
 template<class Entry, int Size>
 struct HashTable {
   Entry* operator[](Key key) { return &table[(uint32_t)key & (Size - 1)]; }