* @brief platform neutral timing utilities
* @version $Id: debug.c 17143 2008-01-02 20:56:33Z beck $
*/
-#ifdef HAVE_CONFIG_H
#include "config.h"
-#endif
-
-#include "firm_config.h"
#include <stdio.h>
#include <string.h>
#include <stddef.h>
-static INLINE void _time_get(ir_timer_val_t *val);
-static INLINE void _time_reset(ir_timer_val_t *val);
-static INLINE unsigned long _time_to_msec(const ir_timer_val_t *val);
-static INLINE ir_timer_val_t *_time_add(ir_timer_val_t *res,
+static inline void _time_get(ir_timer_val_t *val);
+static inline void _time_reset(ir_timer_val_t *val);
+static inline unsigned long _time_to_msec(const ir_timer_val_t *val);
+static inline ir_timer_val_t *_time_add(ir_timer_val_t *res,
const ir_timer_val_t *lhs, const ir_timer_val_t *rhs);
-static INLINE ir_timer_val_t *_time_sub(ir_timer_val_t *res,
+static inline ir_timer_val_t *_time_sub(ir_timer_val_t *res,
const ir_timer_val_t *lhs, const ir_timer_val_t *rhs);
/**
#ifdef HAVE_GETTIMEOFDAY
-static INLINE void _time_get(ir_timer_val_t *val)
+static inline void _time_get(ir_timer_val_t *val)
{
gettimeofday(val, NULL);
}
-static INLINE void _time_reset(ir_timer_val_t *val)
+static inline void _time_reset(ir_timer_val_t *val)
{
timerclear(val);
}
-static INLINE unsigned long _time_to_msec(const ir_timer_val_t *elapsed)
+static inline unsigned long _time_to_msec(const ir_timer_val_t *elapsed)
{
return (unsigned long) elapsed->tv_sec * 1000UL
+ (unsigned long) elapsed->tv_usec / 1000UL;
}
-static INLINE unsigned long _time_to_usec(const ir_timer_val_t *elapsed)
+static inline unsigned long _time_to_usec(const ir_timer_val_t *elapsed)
{
return (unsigned long) elapsed->tv_sec * 1000000UL
+ (unsigned long) elapsed->tv_usec;
}
-static INLINE ir_timer_val_t *_time_add(ir_timer_val_t *res,
+static inline ir_timer_val_t *_time_add(ir_timer_val_t *res,
const ir_timer_val_t *lhs, const ir_timer_val_t *rhs)
{
timeradd(lhs, rhs, res);
return res;
}
-static INLINE ir_timer_val_t *_time_sub(ir_timer_val_t *res,
+static inline ir_timer_val_t *_time_sub(ir_timer_val_t *res,
const ir_timer_val_t *lhs, const ir_timer_val_t *rhs)
{
timersub(lhs, rhs, res);
#elif defined(_WIN32)
-static INLINE void _time_get(ir_timer_val_t *val)
+static inline void _time_get(ir_timer_val_t *val)
{
if(!QueryPerformanceCounter(&val->hi_prec))
val->lo_prec = timeGetTime();
}
-static INLINE void _time_reset(ir_timer_val_t *val)
+static inline void _time_reset(ir_timer_val_t *val)
{
memset(val, 0, sizeof(val[0]));
}
-static INLINE unsigned long _time_to_msec(const ir_timer_val_t *elapsed)
+static inline unsigned long _time_to_msec(const ir_timer_val_t *elapsed)
{
LARGE_INTEGER freq;
return (unsigned long) ((elapsed->hi_prec.QuadPart * 1000) / freq.QuadPart);
}
-static INLINE unsigned long _time_to_usec(const ir_timer_val_t *elapsed)
+static inline unsigned long _time_to_usec(const ir_timer_val_t *elapsed)
{
LARGE_INTEGER freq;
return (unsigned long) ((elapsed->hi_prec.QuadPart * 1000000) / freq.QuadPart);
}
-static INLINE ir_timer_val_t *_time_add(ir_timer_val_t *res, const ir_timer_val_t *lhs, const ir_timer_val_t *rhs)
+static inline ir_timer_val_t *_time_add(ir_timer_val_t *res, const ir_timer_val_t *lhs, const ir_timer_val_t *rhs)
{
LARGE_INTEGER dummy;
if(QueryPerformanceFrequency(&dummy))
return res;
}
-static INLINE ir_timer_val_t *_time_sub(ir_timer_val_t *res, const ir_timer_val_t *lhs, const ir_timer_val_t *rhs)
+static inline ir_timer_val_t *_time_sub(ir_timer_val_t *res, const ir_timer_val_t *lhs, const ir_timer_val_t *rhs)
{
LARGE_INTEGER dummy;
if(QueryPerformanceFrequency(&dummy))
#endif /* _WIN32 */
-#if _XOPEN_REALTIME != -1
+#if defined(_XOPEN_REALTIME) && _XOPEN_REALTIME != -1
#include <sys/types.h>
#include <sched.h>