Replaced timer macros with inlines

This commit is contained in:
jsteube
2016-10-01 12:55:39 +02:00
parent ac3b850e40
commit 743dba56db
6 changed files with 47 additions and 29 deletions
+39
View File
@@ -4,4 +4,43 @@
*/
#include "common.h"
#include "types.h"
#include "timer.h"
#if defined (_WIN)
inline void hc_timer_set (hc_timer_t *a)
{
QueryPerformanceCounter (a);
}
inline double hc_timer_get (hc_timer_t a)
{
hc_timer_t hr_freq;
QueryPerformanceFrequency (&hr_freq);
hc_timer_t hr_tmp;
hc_timer_set (&hr_tmp);
return (double) ((double) (hr_tmp.QuadPart - a.QuadPart) / (double) (hr_freq.QuadPart / 1000));
}
#elif defined(_POSIX)
inline void hc_timer_set (hc_timer_t* a)
{
gettimeofday (a, NULL);
}
inline double hc_timer_get (hc_timer_t a)
{
hc_timer_t hr_tmp;
hc_timer_set (&hr_tmp);
return (double) (((hr_tmp.tv_sec - (a).tv_sec) * 1000) + ((double) (hr_tmp.tv_usec - (a).tv_usec) / 1000));
}
#endif