7#ifndef ZEPHYR_INCLUDE_TIME_UNITS_H_
8#define ZEPHYR_INCLUDE_TIME_UNITS_H_
24#define SYS_FOREVER_MS (-1)
30#define SYS_FOREVER_US (-1)
34#define SYS_TIMEOUT_MS(ms) ((ms) == SYS_FOREVER_MS ? K_FOREVER : K_MSEC(ms))
38#if defined(CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME)
39__syscall
int sys_clock_hw_cycles_per_sec_runtime_get(
void);
41static inline int z_impl_sys_clock_hw_cycles_per_sec_runtime_get(
void)
43 extern int z_clock_hw_cycles_per_sec;
45 return z_clock_hw_cycles_per_sec;
49#if defined(__cplusplus) && __cplusplus >= 201402L
50 #if defined(CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME)
51 #define TIME_CONSTEXPR
53 #define TIME_CONSTEXPR constexpr
56 #define TIME_CONSTEXPR
61#if defined(CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME)
62 return sys_clock_hw_cycles_per_sec_runtime_get();
64 return CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC;
79#define Z_TMCVT_USE_FAST_ALGO(from_hz, to_hz) \
80 ((ceiling_fraction(CONFIG_SYS_CLOCK_MAX_TIMEOUT_DAYS * 24ULL * 3600ULL * from_hz, \
81 UINT32_MAX) * to_hz) <= UINT32_MAX)
104 bool result32,
bool round_up,
107 bool mul_ratio = const_hz &&
108 (to_hz > from_hz) && ((to_hz % from_hz) == 0U);
109 bool div_ratio = const_hz &&
110 (from_hz > to_hz) && ((from_hz % to_hz) == 0U);
112 if (from_hz == to_hz) {
119 uint32_t rdivisor = div_ratio ? (from_hz / to_hz) : from_hz;
136 if (result32 && (
t <
BIT64(32))) {
137 return ((
uint32_t)
t) / (from_hz / to_hz);
141 }
else if (mul_ratio) {
143 return ((
uint32_t)
t) * (to_hz / from_hz);
150 }
else if (const_hz && Z_TMCVT_USE_FAST_ALGO(from_hz, to_hz)) {
156 return ((
t * to_hz +
off) / from_hz);
161 return (
t / from_hz) * to_hz + ((
t % from_hz) * to_hz +
off) / from_hz;
235#define Z_HZ_us 1000000
236#define Z_HZ_ns 1000000000
237#define Z_HZ_cyc sys_clock_hw_cycles_per_sec()
238#define Z_HZ_ticks CONFIG_SYS_CLOCK_TICKS_PER_SEC
239#define Z_CCYC (!IS_ENABLED(CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME))
252 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_cyc, Z_CCYC,
true,
false,
false);
266 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_cyc, Z_CCYC,
false,
false,
false);
280 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_cyc, Z_CCYC,
true,
false,
true);
294 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_cyc, Z_CCYC,
false,
false,
true);
308 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_cyc, Z_CCYC,
true,
true,
false);
322 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_cyc, Z_CCYC,
false,
true,
false);
336 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_ticks,
true,
true,
false,
false);
350 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_ticks,
true,
false,
false,
false);
364 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_ticks,
true,
true,
false,
true);
378 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_ticks,
true,
false,
false,
true);
392 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_ticks,
true,
true,
true,
false);
406 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_ticks,
true,
false,
true,
false);
420 return z_tmcvt(
t, Z_HZ_us, Z_HZ_cyc, Z_CCYC,
true,
false,
false);
434 return z_tmcvt(
t, Z_HZ_us, Z_HZ_cyc, Z_CCYC,
false,
false,
false);
448 return z_tmcvt(
t, Z_HZ_us, Z_HZ_cyc, Z_CCYC,
true,
false,
true);
462 return z_tmcvt(
t, Z_HZ_us, Z_HZ_cyc, Z_CCYC,
false,
false,
true);
476 return z_tmcvt(
t, Z_HZ_us, Z_HZ_cyc, Z_CCYC,
true,
true,
false);
490 return z_tmcvt(
t, Z_HZ_us, Z_HZ_cyc, Z_CCYC,
false,
true,
false);
504 return z_tmcvt(
t, Z_HZ_us, Z_HZ_ticks,
true,
true,
false,
false);
518 return z_tmcvt(
t, Z_HZ_us, Z_HZ_ticks,
true,
false,
false,
false);
532 return z_tmcvt(
t, Z_HZ_us, Z_HZ_ticks,
true,
true,
false,
true);
546 return z_tmcvt(
t, Z_HZ_us, Z_HZ_ticks,
true,
false,
false,
true);
560 return z_tmcvt(
t, Z_HZ_us, Z_HZ_ticks,
true,
true,
true,
false);
574 return z_tmcvt(
t, Z_HZ_us, Z_HZ_ticks,
true,
false,
true,
false);
588 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_cyc, Z_CCYC,
true,
false,
false);
602 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_cyc, Z_CCYC,
false,
false,
false);
616 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_cyc, Z_CCYC,
true,
false,
true);
630 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_cyc, Z_CCYC,
false,
false,
true);
644 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_cyc, Z_CCYC,
true,
true,
false);
658 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_cyc, Z_CCYC,
false,
true,
false);
672 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_ticks,
true,
true,
false,
false);
686 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_ticks,
true,
false,
false,
false);
700 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_ticks,
true,
true,
false,
true);
714 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_ticks,
true,
false,
false,
true);
728 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_ticks,
true,
true,
true,
false);
742 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_ticks,
true,
false,
true,
false);
756 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ms, Z_CCYC,
true,
false,
false);
770 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ms, Z_CCYC,
false,
false,
false);
784 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ms, Z_CCYC,
true,
false,
true);
798 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ms, Z_CCYC,
false,
false,
true);
812 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ms, Z_CCYC,
true,
true,
false);
826 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ms, Z_CCYC,
false,
true,
false);
840 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_us, Z_CCYC,
true,
false,
false);
854 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_us, Z_CCYC,
false,
false,
false);
868 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_us, Z_CCYC,
true,
false,
true);
882 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_us, Z_CCYC,
false,
false,
true);
896 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_us, Z_CCYC,
true,
true,
false);
910 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_us, Z_CCYC,
false,
true,
false);
924 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ns, Z_CCYC,
true,
false,
false);
938 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ns, Z_CCYC,
false,
false,
false);
952 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ns, Z_CCYC,
true,
false,
true);
966 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ns, Z_CCYC,
false,
false,
true);
980 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ns, Z_CCYC,
true,
true,
false);
994 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ns, Z_CCYC,
false,
true,
false);
1008 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ticks, Z_CCYC,
true,
false,
false);
1022 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ticks, Z_CCYC,
false,
false,
false);
1036 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ticks, Z_CCYC,
true,
false,
true);
1050 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ticks, Z_CCYC,
false,
false,
true);
1064 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ticks, Z_CCYC,
true,
true,
false);
1078 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ticks, Z_CCYC,
false,
true,
false);
1092 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ms,
true,
true,
false,
false);
1106 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ms,
true,
false,
false,
false);
1120 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ms,
true,
true,
false,
true);
1134 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ms,
true,
false,
false,
true);
1148 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ms,
true,
true,
true,
false);
1162 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ms,
true,
false,
true,
false);
1176 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_us,
true,
true,
false,
false);
1190 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_us,
true,
false,
false,
false);
1204 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_us,
true,
true,
false,
true);
1218 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_us,
true,
false,
false,
true);
1232 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_us,
true,
true,
true,
false);
1246 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_us,
true,
false,
true,
false);
1260 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ns,
true,
true,
false,
false);
1274 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ns,
true,
false,
false,
false);
1288 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ns,
true,
true,
false,
true);
1302 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ns,
true,
false,
false,
true);
1316 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ns,
true,
true,
true,
false);
1330 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ns,
true,
false,
true,
false);
1344 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_cyc, Z_CCYC,
true,
false,
false);
1358 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_cyc, Z_CCYC,
false,
false,
false);
1372 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_cyc, Z_CCYC,
true,
false,
true);
1386 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_cyc, Z_CCYC,
false,
false,
true);
1400 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_cyc, Z_CCYC,
true,
true,
false);
1414 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_cyc, Z_CCYC,
false,
true,
false);
1417#if defined(CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME)
1418#include <syscalls/time_units.h>
1421#undef TIME_CONSTEXPR
irp nz macro MOVR cc s mov cc s endm endr irp aw macro LDR aa off
Definition: asm-macro-32-bit-gnu.h:17
#define ALWAYS_INLINE
Definition: common.h:124
#define BIT64(_n)
64-bit unsigned integer with bit position _n set.
Definition: util_macro.h:49
struct k_thread t
Definition: kobject.c:1327
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
__UINT64_TYPE__ uint64_t
Definition: stdint.h:91
static uint32_t k_ms_to_cyc_floor32(uint32_t t)
Convert milliseconds to hardware cycles.
Definition: time_units.h:249
static uint64_t k_cyc_to_ns_near64(uint64_t t)
Convert hardware cycles to nanoseconds.
Definition: time_units.h:963
static uint64_t k_ticks_to_ns_floor64(uint64_t t)
Convert ticks to nanoseconds.
Definition: time_units.h:1271
static uint64_t k_ms_to_cyc_near64(uint64_t t)
Convert milliseconds to hardware cycles.
Definition: time_units.h:291
static uint64_t k_ms_to_cyc_ceil64(uint64_t t)
Convert milliseconds to hardware cycles.
Definition: time_units.h:319
static uint32_t k_ticks_to_ms_near32(uint32_t t)
Convert ticks to milliseconds.
Definition: time_units.h:1117
static uint32_t k_ns_to_cyc_floor32(uint32_t t)
Convert nanoseconds to hardware cycles.
Definition: time_units.h:585
static uint32_t k_ticks_to_ns_near32(uint32_t t)
Convert ticks to nanoseconds.
Definition: time_units.h:1285
static uint32_t k_us_to_ticks_near32(uint32_t t)
Convert microseconds to ticks.
Definition: time_units.h:529
static uint32_t k_ns_to_ticks_floor32(uint32_t t)
Convert nanoseconds to ticks.
Definition: time_units.h:669
static uint64_t k_ns_to_ticks_ceil64(uint64_t t)
Convert nanoseconds to ticks.
Definition: time_units.h:739
static uint64_t k_cyc_to_ticks_floor64(uint64_t t)
Convert hardware cycles to ticks.
Definition: time_units.h:1019
static int sys_clock_hw_cycles_per_sec(void)
Definition: time_units.h:59
static uint64_t k_ticks_to_ns_near64(uint64_t t)
Convert ticks to nanoseconds.
Definition: time_units.h:1299
static uint64_t k_cyc_to_ms_floor64(uint64_t t)
Convert hardware cycles to milliseconds.
Definition: time_units.h:767
static uint64_t k_us_to_cyc_ceil64(uint64_t t)
Convert microseconds to hardware cycles.
Definition: time_units.h:487
static uint64_t k_ns_to_cyc_floor64(uint64_t t)
Convert nanoseconds to hardware cycles.
Definition: time_units.h:599
static uint64_t k_us_to_ticks_floor64(uint64_t t)
Convert microseconds to ticks.
Definition: time_units.h:515
static uint32_t k_cyc_to_us_ceil32(uint32_t t)
Convert hardware cycles to microseconds.
Definition: time_units.h:893
static uint32_t k_cyc_to_ns_floor32(uint32_t t)
Convert hardware cycles to nanoseconds.
Definition: time_units.h:921
static uint64_t k_ms_to_ticks_floor64(uint64_t t)
Convert milliseconds to ticks.
Definition: time_units.h:347
static uint64_t k_cyc_to_ms_ceil64(uint64_t t)
Convert hardware cycles to milliseconds.
Definition: time_units.h:823
static uint32_t k_us_to_cyc_ceil32(uint32_t t)
Convert microseconds to hardware cycles.
Definition: time_units.h:473
#define TIME_CONSTEXPR
Definition: time_units.h:56
static uint32_t k_ticks_to_ms_ceil32(uint32_t t)
Convert ticks to milliseconds.
Definition: time_units.h:1145
static uint32_t k_ticks_to_cyc_floor32(uint32_t t)
Convert ticks to hardware cycles.
Definition: time_units.h:1341
static uint64_t k_ticks_to_cyc_ceil64(uint64_t t)
Convert ticks to hardware cycles.
Definition: time_units.h:1411
static uint32_t k_us_to_ticks_floor32(uint32_t t)
Convert microseconds to ticks.
Definition: time_units.h:501
static uint32_t k_ns_to_ticks_near32(uint32_t t)
Convert nanoseconds to ticks.
Definition: time_units.h:697
static uint64_t k_ns_to_ticks_floor64(uint64_t t)
Convert nanoseconds to ticks.
Definition: time_units.h:683
static uint64_t k_ms_to_ticks_near64(uint64_t t)
Convert milliseconds to ticks.
Definition: time_units.h:375
static uint32_t k_ticks_to_ns_ceil32(uint32_t t)
Convert ticks to nanoseconds.
Definition: time_units.h:1313
static uint64_t k_us_to_cyc_near64(uint64_t t)
Convert microseconds to hardware cycles.
Definition: time_units.h:459
static uint32_t k_ns_to_cyc_near32(uint32_t t)
Convert nanoseconds to hardware cycles.
Definition: time_units.h:613
static uint64_t k_us_to_cyc_floor64(uint64_t t)
Convert microseconds to hardware cycles.
Definition: time_units.h:431
static uint32_t k_ticks_to_ns_floor32(uint32_t t)
Convert ticks to nanoseconds.
Definition: time_units.h:1257
static uint64_t k_cyc_to_ms_near64(uint64_t t)
Convert hardware cycles to milliseconds.
Definition: time_units.h:795
static uint32_t k_us_to_cyc_near32(uint32_t t)
Convert microseconds to hardware cycles.
Definition: time_units.h:445
static uint64_t k_ticks_to_ms_floor64(uint64_t t)
Convert ticks to milliseconds.
Definition: time_units.h:1103
static uint32_t k_ns_to_ticks_ceil32(uint32_t t)
Convert nanoseconds to ticks.
Definition: time_units.h:725
static uint32_t k_cyc_to_ms_near32(uint32_t t)
Convert hardware cycles to milliseconds.
Definition: time_units.h:781
static uint32_t k_cyc_to_ms_ceil32(uint32_t t)
Convert hardware cycles to milliseconds.
Definition: time_units.h:809
static uint64_t k_ns_to_ticks_near64(uint64_t t)
Convert nanoseconds to ticks.
Definition: time_units.h:711
static uint64_t k_ticks_to_us_near64(uint64_t t)
Convert ticks to microseconds.
Definition: time_units.h:1215
static uint32_t k_cyc_to_ticks_ceil32(uint32_t t)
Convert hardware cycles to ticks.
Definition: time_units.h:1061
static uint64_t k_ns_to_cyc_ceil64(uint64_t t)
Convert nanoseconds to hardware cycles.
Definition: time_units.h:655
static uint32_t k_ms_to_cyc_ceil32(uint32_t t)
Convert milliseconds to hardware cycles.
Definition: time_units.h:305
static uint32_t k_ticks_to_ms_floor32(uint32_t t)
Convert ticks to milliseconds.
Definition: time_units.h:1089
static uint32_t k_ms_to_ticks_floor32(uint32_t t)
Convert milliseconds to ticks.
Definition: time_units.h:333
static uint64_t k_cyc_to_ticks_near64(uint64_t t)
Convert hardware cycles to ticks.
Definition: time_units.h:1047
static uint64_t k_ticks_to_us_floor64(uint64_t t)
Convert ticks to microseconds.
Definition: time_units.h:1187
static uint64_t k_cyc_to_ns_floor64(uint64_t t)
Convert hardware cycles to nanoseconds.
Definition: time_units.h:935
static uint32_t k_cyc_to_ns_ceil32(uint32_t t)
Convert hardware cycles to nanoseconds.
Definition: time_units.h:977
static uint32_t k_cyc_to_us_floor32(uint32_t t)
Convert hardware cycles to microseconds.
Definition: time_units.h:837
static uint64_t k_cyc_to_us_floor64(uint64_t t)
Convert hardware cycles to microseconds.
Definition: time_units.h:851
static uint32_t k_us_to_cyc_floor32(uint32_t t)
Convert microseconds to hardware cycles.
Definition: time_units.h:417
static uint64_t k_ms_to_ticks_ceil64(uint64_t t)
Convert milliseconds to ticks.
Definition: time_units.h:403
static uint32_t k_us_to_ticks_ceil32(uint32_t t)
Convert microseconds to ticks.
Definition: time_units.h:557
static uint32_t k_ticks_to_us_near32(uint32_t t)
Convert ticks to microseconds.
Definition: time_units.h:1201
static uint32_t k_cyc_to_ticks_floor32(uint32_t t)
Convert hardware cycles to ticks.
Definition: time_units.h:1005
static uint32_t k_ticks_to_us_ceil32(uint32_t t)
Convert ticks to microseconds.
Definition: time_units.h:1229
static uint32_t k_ms_to_ticks_near32(uint32_t t)
Convert milliseconds to ticks.
Definition: time_units.h:361
static uint64_t k_cyc_to_ns_ceil64(uint64_t t)
Convert hardware cycles to nanoseconds.
Definition: time_units.h:991
static uint32_t k_ns_to_cyc_ceil32(uint32_t t)
Convert nanoseconds to hardware cycles.
Definition: time_units.h:641
static uint32_t k_ticks_to_cyc_ceil32(uint32_t t)
Convert ticks to hardware cycles.
Definition: time_units.h:1397
static uint64_t k_cyc_to_us_ceil64(uint64_t t)
Convert hardware cycles to microseconds.
Definition: time_units.h:907
static uint32_t k_ms_to_cyc_near32(uint32_t t)
Convert milliseconds to hardware cycles.
Definition: time_units.h:277
static uint32_t k_ticks_to_us_floor32(uint32_t t)
Convert ticks to microseconds.
Definition: time_units.h:1173
static uint32_t k_cyc_to_ms_floor32(uint32_t t)
Convert hardware cycles to milliseconds.
Definition: time_units.h:753
static uint64_t k_ticks_to_ms_near64(uint64_t t)
Convert ticks to milliseconds.
Definition: time_units.h:1131
static uint64_t k_ticks_to_us_ceil64(uint64_t t)
Convert ticks to microseconds.
Definition: time_units.h:1243
static uint64_t k_us_to_ticks_near64(uint64_t t)
Convert microseconds to ticks.
Definition: time_units.h:543
static uint32_t k_cyc_to_ns_near32(uint32_t t)
Convert hardware cycles to nanoseconds.
Definition: time_units.h:949
static uint32_t k_ticks_to_cyc_near32(uint32_t t)
Convert ticks to hardware cycles.
Definition: time_units.h:1369
static uint64_t k_cyc_to_ticks_ceil64(uint64_t t)
Convert hardware cycles to ticks.
Definition: time_units.h:1075
static uint32_t k_ms_to_ticks_ceil32(uint32_t t)
Convert milliseconds to ticks.
Definition: time_units.h:389
static uint64_t k_ticks_to_ms_ceil64(uint64_t t)
Convert ticks to milliseconds.
Definition: time_units.h:1159
static uint64_t k_ticks_to_cyc_floor64(uint64_t t)
Convert ticks to hardware cycles.
Definition: time_units.h:1355
static uint64_t k_cyc_to_us_near64(uint64_t t)
Convert hardware cycles to microseconds.
Definition: time_units.h:879
static uint64_t k_ticks_to_cyc_near64(uint64_t t)
Convert ticks to hardware cycles.
Definition: time_units.h:1383
static uint64_t k_ms_to_cyc_floor64(uint64_t t)
Convert milliseconds to hardware cycles.
Definition: time_units.h:263
static uint64_t k_ticks_to_ns_ceil64(uint64_t t)
Convert ticks to nanoseconds.
Definition: time_units.h:1327
static uint32_t k_cyc_to_ticks_near32(uint32_t t)
Convert hardware cycles to ticks.
Definition: time_units.h:1033
static uint64_t k_ns_to_cyc_near64(uint64_t t)
Convert nanoseconds to hardware cycles.
Definition: time_units.h:627
static uint64_t k_us_to_ticks_ceil64(uint64_t t)
Convert microseconds to ticks.
Definition: time_units.h:571
static uint32_t k_cyc_to_us_near32(uint32_t t)
Convert hardware cycles to microseconds.
Definition: time_units.h:865