pub struct SMM { /* private fields */ }Expand description
Simple Moving Median of specified length for timeseries of type ValueType
§Parameters
Has a single parameter length: PeriodType
length should be > 0
§Input type
Input type is ValueType
§Output type
Output type is ValueType
§Examples
use yata::prelude::*;
use yata::methods::SMM;
// SMM of length=3
let mut smm = SMM::new(3, &1.0).unwrap();
smm.next(&1.0);
smm.next(&2.0);
assert_eq!(smm.next(&3.0), 2.0);
assert_eq!(smm.next(&100.0), 3.0);§Performance
O(log(length))
This method is relatively slower compare to the most of the other methods.
Implementations§
Source§impl SMM
impl SMM
Sourcepub const fn get_window(&self) -> &Window<ValueType>
pub const fn get_window(&self) -> &Window<ValueType>
Returns inner Window. Useful for implementing in other methods and indicators.
Sourcepub fn get_last_value(&self) -> ValueType
👎Deprecated since 0.5.1: Use Peekable::peek instead
pub fn get_last_value(&self) -> ValueType
Peekable::peek insteadReturns last result value. Useful for implementing in other methods and indicators.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for SMM
Available on crate feature serde only.
impl<'de> Deserialize<'de> for SMM
Available on crate feature
serde only.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
Source§impl Method for SMM
impl Method for SMM
Source§fn new(length: Self::Params, value: &Self::Input) -> Result<Self, Error>
fn new(length: Self::Params, value: &Self::Input) -> Result<Self, Error>
Static method for creating an instance of the method with given
parameters and initial value (simply first input value)Source§fn next(&mut self, value: &Self::Input) -> Self::Output
fn next(&mut self, value: &Self::Input) -> Self::Output
Generates next output value based on the given input
valueSource§fn with_history(
parameters: Self::Params,
initial_value: &Self::Input,
) -> Result<WithHistory<Self, Self::Output>, Error>
fn with_history( parameters: Self::Params, initial_value: &Self::Input, ) -> Result<WithHistory<Self, Self::Output>, Error>
Creates an instance of the method with given
parameters and initial value, wrapped by historical data holderSource§fn with_last_value(
parameters: Self::Params,
initial_value: &Self::Input,
) -> Result<WithLastValue<Self, Self::Output>, Error>
fn with_last_value( parameters: Self::Params, initial_value: &Self::Input, ) -> Result<WithLastValue<Self, Self::Output>, Error>
Creates an instance of the method with given
parameters and initial value, wrapped by last produced value holderSource§fn memsize(&self) -> (usize, usize)where
Self: Sized,
fn memsize(&self) -> (usize, usize)where
Self: Sized,
👎Deprecated
Returns memory size of the method
(size, align)Source§fn new_over<S>(
parameters: Self::Params,
inputs: S,
) -> Result<Vec<Self::Output>, Error>
fn new_over<S>( parameters: Self::Params, inputs: S, ) -> Result<Vec<Self::Output>, Error>
Creates new
Method instance and iterates it over the given inputs slice and returns Vec of output values. Read moreSource§fn new_apply<T, S>(
parameters: Self::Params,
sequence: &mut S,
) -> Result<(), Error>
fn new_apply<T, S>( parameters: Self::Params, sequence: &mut S, ) -> Result<(), Error>
Creates new
Method instance and applies it to the sequence.impl MovingAverage for SMM
Auto Trait Implementations§
impl Freeze for SMM
impl RefUnwindSafe for SMM
impl Send for SMM
impl Sync for SMM
impl Unpin for SMM
impl UnwindSafe for SMM
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