pub struct Calibration {
pub ns_per_tick: u64,
pub frac: u32,
pub method: CalMethod,
}Expand description
A calibrated ns-per-tick conversion factor, held as
ns_per_tick + frac/2^32 (a 32.32 fixed point).
Conversion (Calibration::ticks_to_ns) is two multiplies and a shift
— no division on the read path. REQ-CLK-003.
Fields§
§ns_per_tick: u64Integral nanoseconds per counter tick.
frac: u32Fractional nanos per tick, numerator over 2^32.
method: CalMethodHow the factor was measured.
Implementations§
Source§impl Calibration
impl Calibration
Sourcepub fn ticks_to_ns(&self, ticks: u64) -> u64
pub fn ticks_to_ns(&self, ticks: u64) -> u64
Convert raw ticks to nanoseconds (multiply-shift; no division).
Trait Implementations§
Source§impl Clone for Calibration
impl Clone for Calibration
impl Copy for Calibration
Source§impl Debug for Calibration
impl Debug for Calibration
impl Eq for Calibration
Source§impl Hash for Calibration
impl Hash for Calibration
Source§impl PartialEq for Calibration
impl PartialEq for Calibration
impl StructuralPartialEq for Calibration
Auto Trait Implementations§
impl Freeze for Calibration
impl RefUnwindSafe for Calibration
impl Send for Calibration
impl Sync for Calibration
impl Unpin for Calibration
impl UnsafeUnpin for Calibration
impl UnwindSafe for Calibration
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more