use std::time::Duration;
pub trait MoreDurations {
fn from_decis(deciseconds: u64) -> Duration;
fn from_centis(centiseconds: u64) -> Duration;
fn from_shakes(shakes: u64) -> Duration;
fn from_picos(picoseconds: u64) -> Duration;
fn from_sveds(svedbergs: u64) -> Duration;
fn from_femtos(femtoseconds: u64) -> Duration;
fn from_attos(attoseconds: u64) -> Duration;
fn from_zeptos(zeptoseconds: u64) -> Duration;
fn from_yoctos(yoctoseconds: u64) -> Duration;
fn from_rontos(rontoseconds: u64) -> Duration;
}
impl MoreDurations for Duration {
fn from_decis(deciseconds: u64) -> Duration {
Duration::from_millis(deciseconds * 100)
}
fn from_centis(centiseconds: u64) -> Duration {
Duration::from_millis(centiseconds * 10)
}
fn from_shakes(shakes: u64) -> Duration {
Duration::from_nanos(shakes * 10)
}
fn from_picos(picoseconds: u64) -> Duration {
Duration::from_nanos(picoseconds / 1000)
}
fn from_sveds(svedbergs: u64) -> Duration {
Duration::from_nanos(svedbergs / 10000)
}
fn from_femtos(femtoseconds: u64) -> Duration {
Duration::from_nanos(femtoseconds / 1_000_000)
}
fn from_attos(attoseconds: u64) -> Duration {
Duration::from_nanos(attoseconds / 1_000_000_000)
}
fn from_zeptos(zeptoseconds: u64) -> Duration {
Duration::from_nanos(zeptoseconds / 1_000_000_000_000)
}
fn from_yoctos(yoctoseconds: u64) -> Duration {
Duration::from_nanos(yoctoseconds / 1_000_000_000_000_000)
}
fn from_rontos(rontoseconds: u64) -> Duration {
Duration::from_nanos(rontoseconds / 1_000_000_000_000_000_000)
}
}