X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmisc.cpp;h=8cfba7341fa7fe7256fdaafa440dc3140ae9dbcd;hb=7bc36887144bc6a682e54a91044641f913176449;hp=d0d2fcc018c9865099eff3db7fa0b7d21a94880b;hpb=867a5a8cd27300b0de012f7242189386d5edf787;p=stockfish
diff --git a/src/misc.cpp b/src/misc.cpp
index d0d2fcc0..8cfba734 100644
--- a/src/misc.cpp
+++ b/src/misc.cpp
@@ -17,17 +17,13 @@
along with this program. If not, see .
*/
-#if defined(_MSC_VER)
+#if defined(_WIN32) || defined(_WIN64)
-#define _CRT_SECURE_NO_DEPRECATE
#define NOMINMAX // disable macros min() and max()
#include
-#include
#else
-# include
-# include
# include
# if defined(__hpux)
# include
@@ -40,13 +36,10 @@
#endif
#include
-#include
-#include
#include
#include
#include
-#include "bitcount.h"
#include "misc.h"
#include "thread.h"
@@ -80,12 +73,12 @@ const string engine_info(bool to_uci) {
s << "Stockfish " << Tag
<< setfill('0') << " " << year.substr(2)
<< setw(2) << (1 + months.find(month) / 4)
- << setw(2) << day << cpu64 << popcnt;
+ << setw(2) << day;
}
else
- s << "Stockfish " << Version << cpu64 << popcnt;
+ s << "Stockfish " << Version;
- s << (to_uci ? "\nid author ": " by ")
+ s << cpu64 << popcnt << (to_uci ? "\nid author ": " by ")
<< "Tord Romstad, Marco Costalba and Joona Kiiski";
return s.str();
@@ -112,27 +105,11 @@ void dbg_print() {
}
-/// system_time() returns the current system time, measured in milliseconds
-
-int system_time() {
-
-#if defined(_MSC_VER)
- struct _timeb t;
- _ftime(&t);
- return int(t.time * 1000 + t.millitm);
-#else
- struct timeval t;
- gettimeofday(&t, NULL);
- return t.tv_sec * 1000 + t.tv_usec / 1000;
-#endif
-}
-
-
/// cpu_count() tries to detect the number of CPU cores
int cpu_count() {
-#if defined(_MSC_VER)
+#if defined(_WIN32) || defined(_WIN64)
SYSTEM_INFO s;
GetSystemInfo(&s);
return std::min(int(s.dwNumberOfProcessors), MAX_THREADS);
@@ -156,24 +133,16 @@ int cpu_count() {
/// timed_wait() waits for msec milliseconds. It is mainly an helper to wrap
/// conversion from milliseconds to struct timespec, as used by pthreads.
-void timed_wait(WaitCondition* sleepCond, Lock* sleepLock, int msec) {
+void timed_wait(WaitCondition& sleepCond, Lock& sleepLock, int msec) {
-#if defined(_MSC_VER)
+#if defined(_WIN32) || defined(_WIN64)
int tm = msec;
#else
- struct timeval t;
- struct timespec abstime, *tm = &abstime;
-
- gettimeofday(&t, NULL);
-
- abstime.tv_sec = t.tv_sec + (msec / 1000);
- abstime.tv_nsec = (t.tv_usec + (msec % 1000) * 1000) * 1000;
+ timespec ts, *tm = &ts;
+ uint64_t ms = Time::current_time().msec() + msec;
- if (abstime.tv_nsec > 1000000000LL)
- {
- abstime.tv_sec += 1;
- abstime.tv_nsec -= 1000000000LL;
- }
+ ts.tv_sec = ms / 1000;
+ ts.tv_nsec = (ms % 1000) * 1000000LL;
#endif
cond_timedwait(sleepCond, sleepLock, tm);