Skip to main content

from_sec_f

Macro from_sec_f 

Source
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

OmittedDefault
on and targetboth Scale::TAI
only on=starget=s
only target=ton=TAI

§Forms

FormMeaning
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);