pub enum Smoother {
Exponential {
alpha: f64,
},
MovingAverage {
window: usize,
},
WeightedMovingAverage {
weights: Vec<f64>,
},
}Expand description
Smoothing method enum for configuration.
Variants§
Exponential
Exponential smoothing with alpha parameter.
MovingAverage
Simple moving average with window size.
WeightedMovingAverage
Weighted moving average with custom weights.
Implementations§
Source§impl Smoother
impl Smoother
Sourcepub fn smooth(&self, values: &[f64]) -> Vec<f64>
pub fn smooth(&self, values: &[f64]) -> Vec<f64>
Apply the smoother to the given values.
Invalid parameters are clamped to safe defaults to prevent panics from deserialized or user-supplied configuration:
alphais clamped to(0.0, 1.0]windowis clamped tomax(1, window)- empty
weightsproduces a pass-through (identity)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Smoother
impl<'de> Deserialize<'de> for Smoother
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Smoother
impl RefUnwindSafe for Smoother
impl Send for Smoother
impl Sync for Smoother
impl Unpin for Smoother
impl UnsafeUnpin for Smoother
impl UnwindSafe for Smoother
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more