bufferkdtree (C sources)
C source code for the Python bufferkdtree implementation
 All Classes Files Functions Variables Typedefs Macros
timing.h
Go to the documentation of this file.
1 /*
2  * timing.h
3  *
4  * Copyright (C) 2013-2016 Fabian Gieseke <fabian.gieseke@di.ku.dk>
5  * License: GPL v2
6  *
7  */
8 #ifndef INCLUDE_TIMING_H_
9 #define INCLUDE_TIMING_H_
10 
11 #include <stdlib.h>
12 #include <assert.h>
13 #include <float.h>
14 #include <math.h>
15 #include <stdio.h>
16 #include <time.h>
17 #include <sys/resource.h>
18 #include <sys/time.h>
19 #include <pthread.h>
20 #include <sched.h>
21 #include <errno.h>
22 #include <string.h>
23 #include <ctype.h>
24 
25 // don't use time if not specified
26 #ifndef TIMING
27 #define TIMING 0
28 #endif
29 
30 // struct for input parameters
31 typedef struct timer_struct {
32 
33  long start_time;
34  double elapsed_time;
36 
37 } TIMER;
38 
39 #define INIT_MY_TIMER init_my_timer
40 #define START_MY_TIMER start_my_timer
41 #define STOP_MY_TIMER stop_my_timer
42 #define GET_MY_TIMER get_my_timer
43 
50 
56 void init_my_timer(TIMER *timer);
57 
63 void start_my_timer(TIMER *timer);
64 
70 void stop_my_timer(TIMER *timer);
71 
78 double get_my_timer(TIMER *timer);
79 
80 // timing macros
81 #if TIMING > 0
82 #define DEFINE_TIMER(num) long start_time##num = 0; double elapsed_time##num = 0.0f; double elapsed_time_total##num = 0.0f;
83 #define DECLARE_TIMER(num) extern long start_time##num; extern double elapsed_time##num; extern double elapsed_time_total##num;
84 #define START_TIMER(num) start_time##num = get_system_time_in_microseconds();
85 #define STOP_TIMER(num) elapsed_time##num = (((double)get_system_time_in_microseconds())-((double)start_time##num)); elapsed_time_total##num+=elapsed_time##num;
86 #define GET_TIME(num) (double)(1.0*elapsed_time_total##num / 1000000.0)
87 #define RESET_TIMER(num) start_time##num = 0; elapsed_time##num = 0.0f; elapsed_time_total##num = 0.0f;
88 #else
89 #define DEFINE_TIMER(num)
90 #define DECLARE_TIMER(num)
91 #define START_TIMER(num)
92 #define STOP_TIMER(num)
93 #define GET_TIME(num)
94 #define RESET_TIMER(num)
95 #endif
96 
97 
98 #endif /* INCLUDE_TIMING_H_ */
double elapsed_time
Definition: timing.h:34
void stop_my_timer(TIMER *timer)
Definition: timing.c:47
long get_system_time_in_microseconds(void)
Definition: timing.c:16
double elapsed_time_total
Definition: timing.h:35
double get_my_timer(TIMER *timer)
Definition: timing.c:58
Definition: timing.h:31
long start_time
Definition: timing.h:33
void start_my_timer(TIMER *timer)
Definition: timing.c:38
void init_my_timer(TIMER *timer)
Definition: timing.c:27
struct timer_struct TIMER