macro_rules! from_sec_f {
($sec:expr, on=$scale:expr, target=$target:expr) => { ... };
($sec:expr, target=$target:expr, on=$scale:expr) => { ... };
($sec:expr, on=$scale:expr) => { ... };
($sec:expr, target=$target:expr) => { ... };
($sec:expr) => { ... };
}Expand description
Builds a Dt from a floating-point seconds count with optional
scale labels.
Sugar for Dt::from_sec_f. 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 |
|---|---|
from_sec_f!(sec) | both scales TAI |
from_sec_f!(sec, on=s) | scale and target s |
from_sec_f!(sec, target=t) | scale TAI, target t |
from_sec_f!(sec, on=s, target=t) | either order |
from_sec_f!(sec, target=t, on=s) | either order |
§Examples
use deep_time::Scale;
use deep_time::from_sec_f;
let a = from_sec_f!(5.5);
let b = from_sec_f!(0.0, on=Scale::UTC);
let c = from_sec_f!(1.0, on=Scale::TAI, target=Scale::UTC);
let d = from_sec_f!(1.0, target=Scale::UTC, on=Scale::TAI);
assert_eq!(a, deep_time::Dt::from_sec_f(5.5, Scale::TAI, Scale::TAI));
assert_eq!(b, deep_time::Dt::from_sec_f(0.0, Scale::UTC, Scale::UTC));
assert_eq!(c, deep_time::Dt::from_sec_f(1.0, Scale::TAI, Scale::UTC));
assert_eq!(d, c);