[][src]Trait basic_dsp::StatisticsSplitOps

pub trait StatisticsSplitOps<T> {
    type Result;
    fn statistics_split(&self, len: usize) -> Result<Self::Result, ErrorReason>;
}

This trait offers operations to calculate statistics about the data in a type.

Associated Types

type Result

Loading content...

Required methods

fn statistics_split(&self, len: usize) -> Result<Self::Result, ErrorReason>

Calculates the statistics of the data contained in the vector as if the vector would have been split into len pieces. self.len should be dividable by len without a remainder, but this isn't enforced by the implementation. For implementation reasons len <= 16 must be true.

Example

use basic_dsp_vector::*;
let vector = vec!(1.0, 2.0, 3.0, 4.0, 5.0, 6.0).to_complex_time_vec();
let result = vector.statistics_split(2).expect("Ignoring error handling in examples");
assert_eq!(result[0].sum, Complex32::new(6.0, 8.0));
assert_eq!(result[1].sum, Complex32::new(3.0, 4.0));
}
Loading content...

Implementors

impl<S, T, N, D> StatisticsSplitOps<Complex<T>> for DspVec<S, T, N, D> where
    D: Domain,
    N: ComplexNumberSpace,
    S: ToSlice<T>,
    T: RealNumber
[src]

impl<S, T, N, D> StatisticsSplitOps<T> for DspVec<S, T, N, D> where
    D: Domain,
    N: RealNumberSpace,
    S: ToSlice<T>,
    T: RealNumber
[src]

impl<S, V, T> StatisticsSplitOps<T> for Matrix2xN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + StatisticsSplitOps<Statistics<T>, Result = ArrayVec<[Statistics<T>; 16]>>, 
[src]

type Result = [ArrayVec<[Statistics<T>; 16]>; 2]

impl<S, V, T> StatisticsSplitOps<T> for Matrix3xN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + StatisticsSplitOps<Statistics<T>, Result = ArrayVec<[Statistics<T>; 16]>>, 
[src]

type Result = [ArrayVec<[Statistics<T>; 16]>; 3]

impl<S, V, T> StatisticsSplitOps<T> for Matrix4xN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + StatisticsSplitOps<Statistics<T>, Result = ArrayVec<[Statistics<T>; 16]>>, 
[src]

type Result = [ArrayVec<[Statistics<T>; 16]>; 4]

impl<S, V, T> StatisticsSplitOps<T> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + StatisticsSplitOps<Statistics<T>, Result = ArrayVec<[Statistics<T>; 16]>>, 
[src]

Loading content...