progress
This commit is contained in:
33
src/utils.c
33
src/utils.c
@@ -2,6 +2,12 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#ifdef NN_POSIX
|
||||
#include <time.h>
|
||||
#else
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
void *nn_malloc(size_t size) {
|
||||
return malloc(size);
|
||||
}
|
||||
@@ -27,3 +33,30 @@ void *nn_memdup(const void *buf, size_t len) {
|
||||
if(m == NULL) return m;
|
||||
return memcpy(m, buf, len);
|
||||
}
|
||||
|
||||
#ifdef NN_POSIX
|
||||
|
||||
double nn_realTime() {
|
||||
struct timespec time;
|
||||
if(clock_gettime(CLOCK_MONOTONIC, &time) < 0) return 0; // oh no
|
||||
return time.tv_sec + ((double)time.tv_nsec) / 1e9;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
|
||||
double nn_realTime() {
|
||||
LARGE_INTEGER frequency = {0};
|
||||
if(!QueryPerformanceFrequency(&frequency)) return 0;
|
||||
|
||||
LARGE_INTEGER now = {0};
|
||||
if(!QueryPerformanceCounter(&now)) return 0;
|
||||
|
||||
return (double)now.QuadPart / frequency.QuadPart;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
double nn_realTimeClock(void *_) {
|
||||
return nn_realTime();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user