fn dispersion_at()

in clock-bound-d/src/tracking.rs [37:45]


fn dispersion_at(tracking: Tracking, time: &SystemTime, max_clock_error: f64) -> f64 {
    let dur = time.duration_since(tracking.ref_time).unwrap();
    let dur = (dur.as_secs() as f64) + (dur.subsec_nanos() / NANOSEC_IN_SEC) as f64;
    // Calculate error rate using tracking information
    let error_rate =
        (max_clock_error + f64::from(tracking.skew_ppm) + f64::from(tracking.resid_freq_ppm))
            * 1e-6;
    f64::from(tracking.root_dispersion) + dur * error_rate
}