From 57ba66277c80d89038baeb06f8ff398935724879 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 24 Oct 2015 11:27:31 +0200 Subject: timer: sprinkle some const --- opentrack-compat/timer.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'opentrack-compat/timer.hpp') diff --git a/opentrack-compat/timer.hpp b/opentrack-compat/timer.hpp index 8192aa83..1d424832 100644 --- a/opentrack-compat/timer.hpp +++ b/opentrack-compat/timer.hpp @@ -54,7 +54,7 @@ static inline void clock_gettime(int, struct timespec* ts) class Timer { private: struct timespec state; - long long conv(const struct timespec& cur) + long long conv(const struct timespec& cur) const { return (cur.tv_sec - state.tv_sec) * 1000000000LL + (cur.tv_nsec - state.tv_nsec); } @@ -65,12 +65,12 @@ public: void start() { (void) clock_gettime(CLOCK_MONOTONIC, &state); } - long long elapsed() { + long long elapsed() const { struct timespec cur; (void) clock_gettime(CLOCK_MONOTONIC, &cur); return conv(cur); } - long elapsed_ms() { + long elapsed_ms() const { return elapsed() / 1000000L; } }; -- cgit v1.2.3 From 0d0a0c2f8aa1eb2dfce3830b931a18d14662c8aa Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 24 Oct 2015 16:03:28 +0200 Subject: timer: guard against overflow on win32 --- opentrack-compat/timer.hpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'opentrack-compat/timer.hpp') diff --git a/opentrack-compat/timer.hpp b/opentrack-compat/timer.hpp index 1d424832..f0741295 100644 --- a/opentrack-compat/timer.hpp +++ b/opentrack-compat/timer.hpp @@ -24,9 +24,7 @@ static inline void opentrack_clock_gettime(int, struct timespec* ts) (void) QueryPerformanceCounter(&d); - long long part = d.QuadPart; - part *= 1000000000ULL; - part /= freq.QuadPart; + long long part = d.QuadPart / ((long double)freq.QuadPart) * 1000000000.L; ts->tv_sec = part / 1000000000ULL; ts->tv_nsec = part % 1000000000ULL; -- cgit v1.2.3