coarsetime/
helpers.rs

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}