From 49011a5ea5e29bf08eff79e701a2bd6d80758897 Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Thu, 31 Jul 2025 15:34:46 -0700 Subject: Use nanoseconds variable --- Spear/Sys/Timer/timer.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Spear/Sys/Timer/timer.c b/Spear/Sys/Timer/timer.c index 4a2fb2b..55e64b5 100644 --- a/Spear/Sys/Timer/timer.c +++ b/Spear/Sys/Timer/timer.c @@ -59,7 +59,7 @@ time_delta time_diff(time_point* start, time_point* end) { // another processor, then the delta time can be negative. return std::max(0, *end - *start); #else - return (end->tv_sec - start->tv_sec) * 1e9 + (end->tv_nsec - start->tv_nsec); + return (end->tv_sec - start->tv_sec) * nanoseconds + (end->tv_nsec - start->tv_nsec); #endif } @@ -83,7 +83,7 @@ uint64_t time_point_to_ns(time_point* t) { #ifdef _WIN32 return (uint64_t)((double)*t * seconds_per_count * 1.0e+9); #else - return (uint64_t)t->tv_sec * 1e+9 + (uint64_t)t->tv_nsec; + return (uint64_t)t->tv_sec * nanoseconds + (uint64_t)t->tv_nsec; #endif } @@ -91,17 +91,17 @@ void time_add(const time_point* t, time_delta dt, time_point* out) { #ifdef _WIN32 *out = *t + dt; #else - out->tv_sec = t->tv_sec + (dt / nanoseconds); - out->tv_nsec = t->tv_nsec + (dt % nanoseconds); + out->tv_sec = t->tv_sec + (__time_t)(dt / nanoseconds); + out->tv_nsec = t->tv_nsec + (__time_t)(dt % nanoseconds); #endif } void time_sleep(time_delta dt) { #ifdef _WIN32 - const int64_t ms = dt / microseconds; + const uint64_t ms = dt / microseconds; Sleep((DWORD)(ms)); #else - const int64_t sec = dt / nanoseconds; + const uint64_t sec = dt / nanoseconds; struct timespec ts; ts.tv_sec = (long)sec; ts.tv_nsec = (long)(dt % nanoseconds); -- cgit v1.2.3