#![allow(clippy::cast_possible_truncation)]
#[must_use]
pub const fn from_nanos_u128(nanos: u128) -> std::time::Duration {
let secs = (nanos / 1_000_000_000) as u64;
let subnanos = (nanos % 1_000_000_000) as u32;
std::time::Duration::new(secs, subnanos)
}
#[must_use]
pub const fn from_micros_u128(micros: u128) -> std::time::Duration {
let secs = (micros / 1_000_000) as u64;
let nanos = ((micros % 1_000_000) * 1_000) as u32;
std::time::Duration::new(secs, nanos)
}
#[must_use]
pub const fn from_millis_u128(millis: u128) -> std::time::Duration {
let secs = (millis / 1_000) as u64;
let nanos = ((millis % 1_000) * 1_000_000) as u32;
std::time::Duration::new(secs, nanos)
}