use coarsetime::Clock;
pub const UNIX_EPOCH_TICKS: i64 = 621_355_968_000_000_000;
#[inline(always)]
pub fn now_secs() -> u64 {
Clock::now_since_epoch().as_secs()
}
#[inline(always)]
pub fn now_ms() -> u64 {
Clock::now_since_epoch().as_millis()
}
#[inline(always)]
pub fn now_nanos() -> u64 {
Clock::now_since_epoch().as_nanos()
}
pub const NANOS_PER_TICK: u64 = 100;
#[inline(always)]
pub fn now_stopwatch_ticks() -> i64 {
(now_nanos() / NANOS_PER_TICK).min(i64::MAX as u64) as i64
}
#[inline(always)]
pub fn now_ticks() -> i64 {
(Clock::now_since_epoch().as_nanos() / 100) as i64 + UNIX_EPOCH_TICKS
}
#[inline(always)]
pub fn now_instant() -> Instant {
Instant::now()
}
pub use coarsetime::{Duration as InstantDuration, Instant};