pub struct MinMaxNormF32 { /* private fields */ }Expand description
Windowed min-max normalizer.
Scales values to [0, 1] using the windowed minimum and maximum
over a sliding timestamp window: (sample - min) / (max - min).
When the range is zero (all values equal), returns 0.5.
§Examples
use nexus_stats_core::normalization::MinMaxNormF32;
let mut mm = MinMaxNormF32::builder().window(100).build().unwrap();
let _ = mm.update(0, 10.0 as f32);
let _ = mm.update(1, 20.0 as f32);
let v = mm.update(2, 15.0 as f32).unwrap();
assert!(v.is_some());Implementations§
Source§impl MinMaxNormF32
impl MinMaxNormF32
Sourcepub fn builder() -> MinMaxNormF32Builder
pub fn builder() -> MinMaxNormF32Builder
Creates a builder.
Sourcepub fn update(
&mut self,
timestamp: u64,
sample: f32,
) -> Result<Option<f32>, DataError>
pub fn update( &mut self, timestamp: u64, sample: f32, ) -> Result<Option<f32>, DataError>
Feeds a sample at the given timestamp. Returns normalized value in [0, 1] once at least one sample has been observed.
§Errors
Returns DataError::NotANumber if the sample is NaN, or
DataError::Infinite if the sample is infinite.
Trait Implementations§
Source§impl Clone for MinMaxNormF32
impl Clone for MinMaxNormF32
Source§fn clone(&self) -> MinMaxNormF32
fn clone(&self) -> MinMaxNormF32
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for MinMaxNormF32
impl RefUnwindSafe for MinMaxNormF32
impl Send for MinMaxNormF32
impl Sync for MinMaxNormF32
impl Unpin for MinMaxNormF32
impl UnsafeUnpin for MinMaxNormF32
impl UnwindSafe for MinMaxNormF32
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