1#[inline]
2pub fn _sec_to_u64(sec: u64) -> u64 {
3 sec << 32
4}
5
6#[inline]
7pub fn _millis_to_u64(millis: u64) -> u64 {
8 let secs = millis / 1_000;
9 (secs << 32) | ((millis - secs * 1_000) << 22)
10}
11
12#[inline]
13pub fn _nsecs_to_u64(nsecs: u64) -> u64 {
14 let secs = nsecs / 1_000_000_000;
15 _timespec_to_u64(secs, (nsecs - secs * 1_000_000_000) as u32)
16}
17
18#[inline]
19pub fn _timespec_to_u64(tp_sec: u64, tp_nsec: u32) -> u64 {
20 (tp_sec << 32) | ((tp_nsec as u64 * 9_223_372_037) >> 31)
21}
22
23#[inline]
24pub fn _timeval_to_u64(tv_sec: u64, tv_usec: u32) -> u64 {
25 (tv_sec << 32) | ((tv_usec as u64 * 9_223_372_036_855) >> 31)
26}