18 #define _CRT_SECURE_NO_WARNINGS
22 #define _CRTDBG_MAP_ALLOC
24 #define new new (_NORMAL_BLOCK, __FILE__, __LINE__)
32 #include <sys/resource.h>
39 #define SEED_GROW_DEEP
45 #define FAST_SUBSTRUCT_CACHE
46 #define DUP_SUBSTRUCT_CACHE
50 #define FAST_INCREMENTAL_MATCH
55 #define VERBOSE_STATISTICS_ON
58 #define DELTA_EPOCH_IN_MICROSECS 11644473600000000ULL
65 static inline int gettimeofday(
struct timeval *tv,
struct timezone *tz) {
67 unsigned __int64 tmpres = 0;
71 GetSystemTimeAsFileTime(&ft);
73 tmpres |= ft.dwHighDateTime;
75 tmpres |= ft.dwLowDateTime;
78 tmpres -= DELTA_EPOCH_IN_MICROSECS;
80 tv->tv_sec = (long)(tmpres / 1000000UL);
81 tv->tv_usec = (long)(tmpres % 1000000UL);
89 tz->tz_minuteswest = _timezone / 60;
90 tz->tz_dsttime = _daylight;
99 gettimeofday(&t, (
struct timezone *)
nullptr);
100 return t.tv_usec + t.tv_sec * 1000000ULL;
106 #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