X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmisc.h;h=9650f06eb3c88a2623e9824ca48e569ed8ece46f;hp=57e86553ffa0b1686ab7c06d8e36a6ba8d75da60;hb=e4a0482e43a5af1e4ef3f60b5fb0326c6e786527;hpb=520e680278964931abcaf3e1ab89b24423777999 diff --git a/src/misc.h b/src/misc.h index 57e86553..9650f06e 100644 --- a/src/misc.h +++ b/src/misc.h @@ -44,25 +44,26 @@ struct Log : public std::ofstream { }; -struct Time { - void restart() { system_time(&t); } - int64_t msec() const { return time_to_msec(t); } - int elapsed() const { return int(current_time().msec() - time_to_msec(t)); } - - static Time current_time() { Time t; t.restart(); return t; } - -private: - sys_time_t t; -}; +namespace Time { + typedef int64_t point; + point now(); +} template struct HashTable { - HashTable() : e(Size, Entry()) { memset(&e[0], 0, sizeof(Entry) * Size); } + HashTable() : e(Size, Entry()) {} Entry* operator[](Key k) { return &e[(uint32_t)k & (Size - 1)]; } private: std::vector e; }; + +enum SyncCout { io_lock, io_unlock }; +std::ostream& operator<<(std::ostream&, SyncCout); + +#define sync_cout std::cout << io_lock +#define sync_endl std::endl << io_unlock + #endif // !defined(MISC_H_INCLUDED)