18 #define _CRT_SECURE_NO_WARNINGS
23 #define _CRTDBG_MAP_ALLOC
25 #define new new (_NORMAL_BLOCK, __FILE__, __LINE__)
33 #include <sys/resource.h>
40 #define SEED_GROW_DEEP
46 #define FAST_SUBSTRUCT_CACHE
47 #define DUP_SUBSTRUCT_CACHE
51 #define FAST_INCREMENTAL_MATCH
56 #define VERBOSE_STATISTICS_ON
59 #define DELTA_EPOCH_IN_MICROSECS 11644473600000000ULL
66 static inline int gettimeofday(
struct timeval *tv,
struct timezone *tz) {
68 unsigned __int64 tmpres = 0;
72 GetSystemTimeAsFileTime(&ft);
74 tmpres |= ft.dwHighDateTime;
76 tmpres |= ft.dwLowDateTime;
79 tmpres -= DELTA_EPOCH_IN_MICROSECS;
81 tv->tv_sec = (long)(tmpres / 1000000UL);
82 tv->tv_usec = (long)(tmpres % 1000000UL);
90 tz->tz_minuteswest = _timezone / 60;
91 tz->tz_dsttime = _daylight;
100 gettimeofday(&t, (
struct timezone *)
nullptr);
101 return t.tv_usec + t.tv_sec * 1000000ULL;
107 #ifdef VERBOSE_STATISTICS_ON
static unsigned long long nanoClock(void)
unsigned long long MCSFoundTime
unsigned RemainingSizeRejected
unsigned FastMatchCallTrue
unsigned MismatchedInitialSeed
unsigned AtomFunctorCalls
unsigned WrongCompositionRejected
unsigned AtomCompareCalls
unsigned ExactMatchCallTrue
unsigned SlowMatchCallTrue
unsigned HashKeyFoundInCache
unsigned DupCacheFoundMatch
unsigned SingleBondExcluded
unsigned BondCompareCalls
unsigned WrongCompositionDetected
unsigned BondFunctorCalls