|
@@ -35,7 +35,10 @@
|
|
|
#include <stdint.h> // Defines int32_t, int64_t
|
|
|
|
|
|
#if defined(_WIN32)
|
|
|
- //#include <Windows.h>
|
|
|
+ //#define WIN32_LEAN_AND_MEAN
|
|
|
+ //#include <Windows.h> // ISSUE: Rectangle redeclared, CloseWindow/ShowCursor conflicting types
|
|
|
+int __stdcall QueryPerformanceCounter(unsigned long long int *lpPerformanceCount);
|
|
|
+int __stdcall QueryPerformanceFrequency(unsigned long long int *lpFrequency);
|
|
|
#elif defined(__linux)
|
|
|
#include <time.h> // Used for clock functions
|
|
|
#endif
|
|
@@ -546,6 +549,29 @@ static double GetCurrentTime()
|
|
|
|
|
|
time = ((double)nowTime/10000000.0); // time in seconds
|
|
|
*/
|
|
|
+/*
|
|
|
+ double pcFreq = 0.0;
|
|
|
+ __int64 counterStart = 0; // In C99 defined a standard 64-bit integer type named int64_t and unsigned version uint64_t in stdint.h.
|
|
|
+
|
|
|
+ //int64_t or uint64_t is type defined as long long or unsigned long long in C99's stdint.h.
|
|
|
+
|
|
|
+ //LARGE_INTEGER li; // Represents a 64-bit signed integer value
|
|
|
+ //li.QuadPart // A signed 64-bit integer
|
|
|
+
|
|
|
+ unsigned long long int li; // __int64, same as long long
|
|
|
+ if(!QueryPerformanceFrequency(&li)) return 0;
|
|
|
+
|
|
|
+ pcFreq = (double)(li)/1000.0;
|
|
|
+
|
|
|
+ QueryPerformanceCounter(&li);
|
|
|
+ counterStart = li;
|
|
|
+
|
|
|
+ unsigned long long int tm;
|
|
|
+ QueryPerformanceCounter(&tm);
|
|
|
+ time = (double)(tm - counterStart)/pcFreq;
|
|
|
+*/
|
|
|
+ unsigned long long int tm, tf;
|
|
|
+ time = (double)(QueryPerformanceCounter(&tm)/QueryPerformanceFrequency(&tf)); // time in seconds
|
|
|
#endif
|
|
|
|
|
|
#if defined(__linux)
|