#define MISC_H_INCLUDED
#include <cassert>
-#include <chrono>
#include <ostream>
#include <string>
#include <vector>
#include "types.h"
const std::string engine_info(bool to_uci = false);
-void prefetch(void* addr);
+void timed_wait(WaitCondition&, Lock&, int);
+void prefetch(char* addr);
void start_logger(bool b);
void dbg_hit_on(bool b);
void dbg_mean_of(int v);
void dbg_print();
-typedef std::chrono::milliseconds::rep TimePoint; // A value in milliseconds
-inline TimePoint now() {
- return std::chrono::duration_cast<std::chrono::milliseconds>
- (std::chrono::steady_clock::now().time_since_epoch()).count();
+namespace Time {
+ typedef int64_t point;
+ inline point now() { return system_time_to_msec(); }
}
+
template<class Entry, int Size>
struct HashTable {
+ HashTable() : table(Size, Entry()) {}
Entry* operator[](Key key) { return &table[(uint32_t)key & (Size - 1)]; }
private:
- std::vector<Entry> table = std::vector<Entry>(Size);
+ std::vector<Entry> table;
};