blob: d0809341040c97edfd35924947cebf2df934f478 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#include "HsBase.h"
#if defined(darwin_HOST_OS) || defined(ios_HOST_OS)
#include <mach/mach_time.h>
static double scaling_factor = 0.0;
void initialize_timer()
{
mach_timebase_info_data_t info;
(void) mach_timebase_info(&info);
scaling_factor = (double)info.numer / (double)info.denom;
scaling_factor *= 1e-9;
}
void absolute_time(double *result)
{
uint64_t time = mach_absolute_time();
*result = (double)time * scaling_factor;
}
#endif
|