Initial packaging for Tizen
[profile/ivi/gobject-introspection.git] / girepository / cmph / cmph_time.h
1 #ifdef ELAPSED_TIME_IN_SECONDS
2 #undef ELAPSED_TIME_IN_SECONDS
3 #endif
4
5 #ifdef ELAPSED_TIME_IN_uSECONDS
6 #undef ELAPSED_TIME_IN_uSECONDS
7 #endif
8
9 #ifdef __GNUC__
10         #include <sys/time.h>
11         #ifndef WIN32
12                 #include <sys/resource.h>
13         #endif
14 #endif
15
16 #ifdef __GNUC__
17         #ifndef __CMPH_TIME_H__
18                 #define __CMPH_TIME_H__
19                 static inline void elapsed_time_in_seconds(double * elapsed_time)
20                 {
21                         struct timeval e_time;
22                         if (gettimeofday(&e_time, NULL) < 0) {
23                                 return;
24                         }
25                         *elapsed_time =  (double)e_time.tv_sec + ((double)e_time.tv_usec/1000000.0);
26                 }
27                 static inline void dummy_elapsed_time_in_seconds()
28                 {
29                 }
30                 static inline void elapsed_time_in_useconds(cmph_uint64 * elapsed_time)
31                 {
32                         struct timeval e_time;
33                         if (gettimeofday(&e_time, NULL) < 0) {
34                                 return;
35                         }
36                         *elapsed_time =  (cmph_uint64)(e_time.tv_sec*1000000 + e_time.tv_usec);
37                 }
38                 static inline void dummy_elapsed_time_in_useconds()
39                 {
40                 }       
41         #endif
42 #endif
43
44 #ifdef CMPH_TIMING
45           #ifdef __GNUC__
46                   #define ELAPSED_TIME_IN_SECONDS elapsed_time_in_seconds
47                   #define ELAPSED_TIME_IN_uSECONDS elapsed_time_in_useconds
48           #else
49                   #define ELAPSED_TIME_IN_SECONDS dummy_elapsed_time_in_seconds
50                   #define ELAPSED_TIME_IN_uSECONDS dummy_elapsed_time_in_useconds
51           #endif
52 #else
53           #ifdef __GNUC__
54                   #define ELAPSED_TIME_IN_SECONDS
55                   #define ELAPSED_TIME_IN_uSECONDS
56           #else
57                   #define ELAPSED_TIME_IN_SECONDS dummy_elapsed_time_in_seconds
58                   #define ELAPSED_TIME_IN_uSECONDS dummy_elapsed_time_in_useconds
59           #endif
60 #endif