Struct yata::methods::LowerReversalSignal
source · pub struct LowerReversalSignal { /* private fields */ }
Expand description
Searches for lower reversal points over last left
+right
+1 values of type ValueType
§Parameters
Has a tuple of 2 parameters (left
: PeriodType
, right
: PeriodType
)
left
should be > 0 and right
should be > 0
There is an additional restriction on parameters: left
+right
+1 should be <= PeriodType
::MAX
.
So if your PeriodType
is default u8
, then left
+right
+1 should be <= 255
§Input type
Input type is ValueType
§Output type
Output type is Action
use yata::core::Method;
use yata::methods::UpperReversalSignal;
let s = [1.0, 2.0, 3.0, 2.0, 1.0, 1.0, 2.0];
let r = [ 0, 0, 0, 0, 1, 0, 0 ];
let mut pivot = UpperReversalSignal::new(2, 2, &s[0]).unwrap();
let r2: Vec<i8> = s.iter().map(|v| pivot.next(v).analog()).collect();
assert_eq!(r2, r);
§Performance
O(left
+right
)
§See also
Implementations§
source§impl LowerReversalSignal
impl LowerReversalSignal
sourcepub fn new(
left: PeriodType,
right: PeriodType,
value: &ValueType
) -> Result<Self, Error>
pub fn new( left: PeriodType, right: PeriodType, value: &ValueType ) -> Result<Self, Error>
Constructs new instanceof LowerReversalSignal
It’s just an alias for Method::new((left, right), value)
but without parentheses of Input
tuple
Trait Implementations§
source§impl Clone for LowerReversalSignal
impl Clone for LowerReversalSignal
source§fn clone(&self) -> LowerReversalSignal
fn clone(&self) -> LowerReversalSignal
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 LowerReversalSignal
impl Debug for LowerReversalSignal
source§impl<'de> Deserialize<'de> for LowerReversalSignal
impl<'de> Deserialize<'de> for LowerReversalSignal
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 LowerReversalSignal
impl Method for LowerReversalSignal
source§fn new(params: Self::Params, value: &Self::Input) -> Result<Self, Error>
fn new(params: 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
.Auto Trait Implementations§
impl RefUnwindSafe for LowerReversalSignal
impl Send for LowerReversalSignal
impl Sync for LowerReversalSignal
impl Unpin for LowerReversalSignal
impl UnwindSafe for LowerReversalSignal
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