34#if defined(__OS_UNIX__) && !defined(STIR_CPUTimer_use_clock)
39# include <sys/times.h>
45CPUTimer::get_current_value()
const
49 return double(t.tms_utime) / sysconf(_SC_CLK_TCK);
52#elif defined(__OS_WIN__) && !defined(STIR_CPUTimer_use_clock)
69CPUTimer::get_current_value()
const
71 FILETIME CreationTime;
76 GetProcessTimes(GetCurrentProcess(), &CreationTime, &ExitTime, &KernelTime, &UserTime);
80 ll.LowPart = UserTime.dwLowDateTime;
81 ll.HighPart = UserTime.dwHighDateTime;
83 return static_cast<double>(ll.QuadPart) / 1E7;
86 const long long value = (
static_cast<long long>(UserTime.dwHighDateTime) << 32) + UserTime.dwLowDateTime;
87 return static_cast<double>(value) / 1E7;
98CPUTimer::get_current_value()
const
100 return double(clock()) / CLOCKS_PER_SEC;