-/* define GNU macro for processor affinity stuff if on linux */
-#if defined __linux__ && !defined __USE_GNU
-#define __USE_GNU
-#endif
-#include <sched.h>
-
-typedef struct {
-#ifdef _POSIX_PRIORITY_SCHEDULING
- struct sched_param params;
-#endif
- int scheduler;
-#ifdef __linux__
- cpu_set_t affinity;
-#endif
-} timing_sched_env_t;
-
-/* only use rdtsc on GNU C with x86 */
-#if defined TIMING_USE_RDTSC && defined __GNUC__ && defined __i386__
-
-typedef unsigned long long timing_ticks_t;
-#define timing_ticks(t) __asm__ __volatile__ ("rdtsc" : "=A" (t))
-#define timing_ticks_init(t) ((t) = 0)
-#define timing_ticks_cmp(a, b, cmp) ((a) cmp (b))
-#define timing_ticks_sub(r, a) ((r) = (r) - (a))
-#define timing_ticks_add(r, a) ((r) = (r) + (a))
-#define timing_ticks_ulong(t) ((unsigned long) (t))
-#define timing_ticks_dbl(t) ((double) (t))
-
-#else
-