Change license name
[platform/upstream/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(double * elapsed_time)
28                 {
29                   (void) elapsed_time;
30                 }
31                 static inline void elapsed_time_in_useconds(cmph_uint64 * elapsed_time)
32                 {
33                         struct timeval e_time;
34                         if (gettimeofday(&e_time, NULL) < 0) {
35                                 return;
36                         }
37                         *elapsed_time =  (cmph_uint64)(e_time.tv_sec*1000000 + e_time.tv_usec);
38                 }
39                 static inline void dummy_elapsed_time_in_useconds(cmph_uint64 * elapsed_time)
40                 {
41                   (void) elapsed_time;
42                 }       
43         #endif
44 #endif
45
46 #ifdef CMPH_TIMING
47           #ifdef __GNUC__
48                   #define ELAPSED_TIME_IN_SECONDS elapsed_time_in_seconds
49                   #define ELAPSED_TIME_IN_uSECONDS elapsed_time_in_useconds
50           #else
51                   #define ELAPSED_TIME_IN_SECONDS dummy_elapsed_time_in_seconds
52                   #define ELAPSED_TIME_IN_uSECONDS dummy_elapsed_time_in_useconds
53           #endif
54 #else
55           #ifdef __GNUC__
56                   #define ELAPSED_TIME_IN_SECONDS
57                   #define ELAPSED_TIME_IN_uSECONDS
58           #else
59                   #define ELAPSED_TIME_IN_SECONDS dummy_elapsed_time_in_seconds
60                   #define ELAPSED_TIME_IN_uSECONDS dummy_elapsed_time_in_useconds
61           #endif
62 #endif