macro_rules! dt {
($attos:expr, on=$scale:expr, target=$target:expr) => { ... };
($attos:expr, target=$target:expr, on=$scale:expr) => { ... };
($attos:expr, on=$scale:expr) => { ... };
($attos:expr, target=$target:expr) => { ... };
($attos:expr) => { ... };
}Expand description
Builds a Dt from total attoseconds with optional scale labels.
Sugar for Dt::new. Does not perform time-scale
conversion.
§Defaults
| Omitted | Default |
|---|---|
on and target | both Scale::TAI |
only on=s | target=s |
only target=t | on=TAI |
§Forms
| Form | Meaning |
|---|---|
dt!(attos) | both scales TAI |
dt!(attos, on=s) | scale and target s |
dt!(attos, target=t) | scale TAI, target t |
dt!(attos, on=s, target=t) | either order |
dt!(attos, target=t, on=s) | either order |
§Examples
use deep_time::{Dt, Scale, dt};
let a = dt!(Dt::sec_to_attos(1));
let b = dt!(0, on=Scale::UTC);
let c = dt!(0, on=Scale::TAI, target=Scale::UTC);
let d = dt!(0, target=Scale::UTC, on=Scale::TAI);
let e = dt!(0, target=Scale::UTC);
assert_eq!(a, Dt::new(Dt::sec_to_attos(1), Scale::TAI, Scale::TAI));
assert_eq!(b, Dt::new(0, Scale::UTC, Scale::UTC));
assert_eq!(c, Dt::new(0, Scale::TAI, Scale::UTC));
assert_eq!(d, c);
assert_eq!(e, Dt::new(0, Scale::TAI, Scale::UTC));