Struct yata::methods::LowestIndex [−][src]
Returns lowest value index over the last length
values for timeseries of type ValueType
If period has more than one minimum 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::LowestIndex; let values = [1.0, 2.0, 3.0, 2.0, 1.0, 0.5, 2.0, 3.0]; let r = [ 0, 1, 2, 0, 0, 0, 1, 2 ]; let mut lowest_index = LowestIndex::new(3, values[0]).unwrap(); (0..values.len()).for_each(|i| { let v = lowest_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
impl Clone for LowestIndex
[src]
fn clone(&self) -> LowestIndex
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for LowestIndex
[src]
impl<'de> Deserialize<'de> for LowestIndex
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl Method<'_> for LowestIndex
[src]
type Params = PeriodType
Method parameters
type Input = ValueType
Input value type
type Output = PeriodType
Output value type
fn new(length: Self::Params, value: Self::Input) -> Result<Self, Error>
[src]
fn next(&mut self, value: Self::Input) -> Self::Output
[src]
fn name(&self) -> &str
[src]
fn memsize(&self) -> (usize, usize) where
Self: Sized,
[src]
Self: Sized,
fn over<S>(&'a mut self, inputs: S) -> Vec<Self::Output> where
S: Sequence<Self::Input>,
Self: Sized,
[src]
S: Sequence<Self::Input>,
Self: Sized,
fn apply<'b: 'a, T, S>(&'a mut self, sequence: &'b mut S) where
S: Sequence<T> + AsMut<[T]>,
Self: Method<'a, Input = T, Output = T> + Sized,
T: Copy,
[src]
S: Sequence<T> + AsMut<[T]>,
Self: Method<'a, Input = T, Output = T> + Sized,
T: Copy,
fn new_over<S>(
parameters: Self::Params,
inputs: S
) -> Result<Vec<Self::Output>, Error> where
S: Sequence<Self::Input>,
Self::Input: Clone,
Self: Sized + 'a,
[src]
parameters: Self::Params,
inputs: S
) -> Result<Vec<Self::Output>, Error> where
S: Sequence<Self::Input>,
Self::Input: Clone,
Self: Sized + 'a,
fn new_apply<T, S>(
parameters: Self::Params,
sequence: &'a mut S
) -> Result<(), Error> where
T: Copy,
S: Sequence<T> + AsMut<[T]>,
Self: Method<'a, Input = T, Output = T> + Sized + 'a,
[src]
parameters: Self::Params,
sequence: &'a mut S
) -> Result<(), Error> where
T: Copy,
S: Sequence<T> + AsMut<[T]>,
Self: Method<'a, Input = T, Output = T> + Sized + 'a,
fn into_fn(self) -> Box<dyn FnMut(Self::Input) -> Self::Output> where
Self: Sized + 'static,
[src]
Self: Sized + 'static,
fn new_fn(
params: Self::Params,
initial_value: Self::Input
) -> Result<Box<dyn FnMut(Self::Input) -> Self::Output>, Error> where
Self: Sized + 'static,
[src]
params: Self::Params,
initial_value: Self::Input
) -> Result<Box<dyn FnMut(Self::Input) -> Self::Output>, Error> where
Self: Sized + 'static,
impl Serialize for LowestIndex
[src]
Auto Trait Implementations
impl RefUnwindSafe for LowestIndex
impl Send for LowestIndex
impl Sync for LowestIndex
impl Unpin for LowestIndex
impl UnwindSafe for LowestIndex
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,