diff options
author | Stijn Buys <ingar@osirion.org> | 2008-10-16 16:34:15 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2008-10-16 16:34:15 +0000 |
commit | 1a28393dabf4f4696bf433ddde52e7a25253c955 (patch) | |
tree | 4d4fa4034f30fc882a78ab6ea148a32e83b9e88c /src/core/timer.cc | |
parent | 1e0df536c2fae85c317ce9c3cc17603d5f98c911 (diff) |
various user interface related updates
Diffstat (limited to 'src/core/timer.cc')
-rw-r--r-- | src/core/timer.cc | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/core/timer.cc b/src/core/timer.cc index e5a808e..b614af1 100644 --- a/src/core/timer.cc +++ b/src/core/timer.cc @@ -8,6 +8,7 @@ #include <unistd.h> #include <iostream> +#include <cmath> namespace core { @@ -26,7 +27,7 @@ void Timer::mark() gettimeofday(&timer_tick, &timer_tz); } -float Timer::elapsed() +unsigned long Timer::timestamp() { struct timeval tick; struct timezone tick_tz; @@ -34,8 +35,15 @@ float Timer::elapsed() gettimeofday(&tick, &tick_tz); // calculate elapsed time in 10^-6 seconds - long delta = (tick.tv_sec - timer_tick.tv_sec) * 1000000 + (tick.tv_usec - timer_tick.tv_usec); - return( (float) delta / 1000000.0f); + unsigned long delta = 0; + delta = tick.tv_sec * 1000 + tick.tv_usec / 1000; + delta -= timer_tick.tv_sec * 1000 + timer_tick.tv_usec / 1000; + return delta; +} + +float Timer::elapsed() +{ + return ((float) timestamp() / 1000.0f); } } |