Struct yata::methods::HighestIndex
source · pub struct HighestIndex { /* private fields */ }
Expand description
Returns highest value index over the last length
values for timeseries of type ValueType
If period has more than one maximum values, then returns the index of the newest value (e.g. the smallest index)
§Parameters
Has a single parameter length
: PeriodType
length
should be > 0
§Input type
Input type is ValueType
§Output type
Output type is PeriodType
§Examples
use yata::core::Method;
use yata::methods::HighestIndex;
let values = [1.0, 2.0, 3.0, 2.0, 1.0, 0.5, 2.0, 3.0];
let r = [ 0, 0, 0, 1, 2, 2, 0, 0 ];
let mut highest_index = HighestIndex::new(3, &values[0]).unwrap();
(0..values.len()).for_each(|i| {
let v = highest_index.next(&values[i]);
assert_eq!(v, r[i]);
});
§Performance
O(length
)
This method is relatively slow compare to the other methods.
§See also
Trait Implementations§
source§impl Clone for HighestIndex
impl Clone for HighestIndex
source§fn clone(&self) -> HighestIndex
fn clone(&self) -> HighestIndex
Returns a copy of the value. Read more
1.0.0 · 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 HighestIndex
impl Debug for HighestIndex
source§impl<'de> Deserialize<'de> for HighestIndex
impl<'de> Deserialize<'de> for HighestIndex
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 HighestIndex
impl Method for HighestIndex
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
value
source§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<<HighestIndex as Method>::Output> for HighestIndex
impl Peekable<<HighestIndex as Method>::Output> for HighestIndex
Auto Trait Implementations§
impl RefUnwindSafe for HighestIndex
impl Send for HighestIndex
impl Sync for HighestIndex
impl Unpin for HighestIndex
impl UnwindSafe for HighestIndex
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