pub struct HighestLowestDelta { /* private fields */ }Expand description
Calculates absolute difference between highest and lowest values over the last length values 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
Output value is always >= 0.0
§Examples
use yata::prelude::*;
use yata::methods::HighestLowestDelta;
let values = [1.0, 2.0, 3.0, 2.0, 1.0, 0.5, 2.0, 3.0];
let r = [0.0, 1.0, 2.0, 1.0, 2.0, 1.5, 1.5, 2.5];
let mut hld = HighestLowestDelta::new(3, &values[0]).unwrap();
(0..values.len()).for_each(|i| {
let v = hld.next(&values[i]);
assert_eq!(v, r[i]);
});§Performance
O(length)
This method is relatively very slow compare to the other methods.
§See also
Trait Implementations§
Source§impl Clone for HighestLowestDelta
impl Clone for HighestLowestDelta
Source§fn clone(&self) -> HighestLowestDelta
fn clone(&self) -> HighestLowestDelta
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 moreSource§impl Debug for HighestLowestDelta
impl Debug for HighestLowestDelta
Source§impl<'de> Deserialize<'de> for HighestLowestDelta
impl<'de> Deserialize<'de> for HighestLowestDelta
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 HighestLowestDelta
impl Method for HighestLowestDelta
Source§fn new(length: Self::Params, value: &Self::Input) -> Result<Self, Error>where
Self: Sized,
fn new(length: Self::Params, value: &Self::Input) -> Result<Self, Error>where
Self: Sized,
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) -> ValueType
fn next(&mut self, value: &Self::Input) -> ValueType
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.Source§impl Peekable<<HighestLowestDelta as Method>::Output> for HighestLowestDelta
impl Peekable<<HighestLowestDelta as Method>::Output> for HighestLowestDelta
Auto Trait Implementations§
impl Freeze for HighestLowestDelta
impl RefUnwindSafe for HighestLowestDelta
impl Send for HighestLowestDelta
impl Sync for HighestLowestDelta
impl Unpin for HighestLowestDelta
impl UnsafeUnpin for HighestLowestDelta
impl UnwindSafe for HighestLowestDelta
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