18 #define _CRT_SECURE_NO_WARNINGS
20 #ifdef _DEBUG // check memory leaks
22 #define _CRTDBG_MAP_ALLOC
24 #define new new (_NORMAL_BLOCK, __FILE__, __LINE__)
32 #include <sys/resource.h>
39 #define SEED_GROW_DEEP // fast and works much times faster (but it can depend
45 #define FAST_SUBSTRUCT_CACHE // based on a hash of Morgan code
46 #define DUP_SUBSTRUCT_CACHE // based on list of query atoms and bonds. For
50 #define FAST_INCREMENTAL_MATCH // fast and some time very usefull. request
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 *)0);
100 return t.tv_usec + t.tv_sec * 1000000ULL;
106 #ifdef VERBOSE_STATISTICS_ON