[][src]Struct statrs::generate::InfiniteTriangle

pub struct InfiniteTriangle { /* fields omitted */ }

Infinite iterator returning floats forming a triangle wave starting with the raise phase from the lowest sample

Methods

impl InfiniteTriangle[src]

Important traits for InfiniteTriangle
pub fn new(
    raise_duration: i64,
    fall_duration: i64,
    high_value: f64,
    low_value: f64,
    delay: i64
) -> InfiniteTriangle
[src]

Constructs a new infinite triangle wave generator

Examples

#[macro_use]
extern crate statrs;

use statrs::generate::InfiniteTriangle;

let x = InfiniteTriangle::new(4, 7, 1.0, -1.0,
1).take(12).collect::<Vec<f64>>();
let expected: [f64; 12] = [-0.714, -1.0, -0.5, 0.0, 0.5, 1.0, 0.714,
0.429, 0.143, -0.143, -0.429, -0.714];
for (&left, &right) in x.iter().zip(expected.iter()) {
    assert_almost_eq!(left, right, 1e-3);
}

Trait Implementations

impl Iterator for InfiniteTriangle[src]

type Item = f64

The type of the elements being iterated over.

Auto Trait Implementations

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<I> IntoIterator for I where
    I: Iterator
[src]

type Item = <I as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = I

Which kind of iterator are we turning this into?

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<I> IteratorRandom for I where
    I: Iterator
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,