23 # define DEBUG FALSE
\r
26 #if defined(_MSC_VER) || defined(__MINGW32__) || defined(__MINGW64__)
\r
27 # define S64_FORMAT "%I64d"
\r
28 # define U64_FORMAT "%016I64X"
\r
30 # define S64_FORMAT "%lld"
\r
31 # define U64_FORMAT "%016llX"
\r
37 # define S64(u) (u##i64)
\r
38 # define U64(u) (u##ui64)
\r
40 # define S64(u) (u##LL)
\r
41 # define U64(u) (u##ULL)
\r
46 # define ASSERT(a) { if (!(a)) my_fatal("file \"%s\", line %d, assertion \"" #a "\" failed\n",__FILE__,__LINE__); }
\r
52 #define snprintf _snprintf
\r
57 typedef signed char sint8;
\r
58 typedef unsigned char uint8;
\r
60 typedef signed short sint16;
\r
61 typedef unsigned short uint16;
\r
63 typedef signed int sint32;
\r
64 typedef unsigned int uint32;
\r
67 typedef signed __int64 sint64;
\r
68 typedef unsigned __int64 uint64;
\r
70 typedef signed long long int sint64;
\r
71 typedef unsigned long long int uint64;
\r
76 double elapsed_real;
\r
83 #include <windows.h>
\r
84 inline void Idle(void) {
\r
87 inline void Idle500msecs(void){
\r
92 inline void Idle(void) {
\r
96 extern void util_init ();
\r
98 extern void my_random_init ();
\r
99 extern int my_random_int (int n);
\r
100 extern double my_random_double ();
\r
102 extern sint64 my_atoll (const char string[]);
\r
104 extern int my_round (double x);
\r
106 extern void * my_malloc (size_t size);
\r
107 extern void * my_realloc (void * address, size_t size);
\r
108 extern void my_free (void * address);
\r
110 extern void my_log_open (const char file_name[]);
\r
111 extern void my_log_close ();
\r
113 extern void my_log (const char format[], ...);
\r
114 extern void my_fatal (const char format[], ...);
\r
116 extern bool my_file_read_line (FILE * file, char string[], int size);
\r
118 extern bool my_string_empty (const char string[]);
\r
119 extern bool my_string_whitespace (const char string[]);
\r
120 extern bool my_string_equal (const char string_1[], const char string_2[]);
\r
121 extern bool my_string_case_equal (const char string_1[], const char string_2[]);
\r
122 extern char * my_strdup (const char string[]);
\r
124 extern void my_string_clear (const char * * variable);
\r
125 extern void my_string_set (const char * * variable, const char string[]);
\r
127 extern void my_timer_reset (my_timer_t * timer);
\r
128 extern void my_timer_start (my_timer_t * timer);
\r
129 extern void my_timer_stop (my_timer_t * timer);
\r
131 extern double my_timer_elapsed_real (const my_timer_t * timer);
\r
133 extern char * my_error();
\r
135 #endif // !defined UTIL_H
\r