pub struct DetectabilityTracker<const W: usize> { /* private fields */ }Expand description
Running detectability tracker with O(1) per-sample update.
Generic W = window size for fraction tracking.
Implementations§
Source§impl<const W: usize> DetectabilityTracker<W>
impl<const W: usize> DetectabilityTracker<W>
Sourcepub const fn new(thresholds: DetectabilityThresholds) -> Self
pub const fn new(thresholds: DetectabilityThresholds) -> Self
Create a new tracker with the given thresholds.
Sourcepub const fn default_rf() -> Self
pub const fn default_rf() -> Self
Create with default RF thresholds.
Sourcepub fn update(
&mut self,
norm: f32,
rho: f32,
alpha: f32,
) -> DetectabilitySummary
pub fn update( &mut self, norm: f32, rho: f32, alpha: f32, ) -> DetectabilitySummary
Update the tracker with one residual norm observation.
norm: current ‖r(k)‖rho: current admissibility envelope radius ρ(k)alpha: divergence rate (Lyapunov λ or empirical slew; pass 0.0 if unknown)
Returns a complete DetectabilitySummary for this observation.
Sourcepub fn post_crossing_duration(&self) -> u32
pub fn post_crossing_duration(&self) -> u32
Access current post-crossing duration.
Sourcepub fn peak_margin(&self) -> f32
pub fn peak_margin(&self) -> f32
Access peak margin since crossing.
Auto Trait Implementations§
impl<const W: usize> Freeze for DetectabilityTracker<W>
impl<const W: usize> RefUnwindSafe for DetectabilityTracker<W>
impl<const W: usize> Send for DetectabilityTracker<W>
impl<const W: usize> Sync for DetectabilityTracker<W>
impl<const W: usize> Unpin for DetectabilityTracker<W>
impl<const W: usize> UnsafeUnpin for DetectabilityTracker<W>
impl<const W: usize> UnwindSafe for DetectabilityTracker<W>
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