[][src]Trait basic_dsp_vector::PreciseStatisticsSplitOps

pub trait PreciseStatisticsSplitOps<T> {
    type Result;
    fn statistics_split_prec(&self, len: usize) -> ScalarResult<Self::Result>;
}

Offers the same functionality as the StatisticsOps trait but the statistics are calculated in a more precise (and slower) way.

Associated Types

type Result

Loading content...

Required methods

fn statistics_split_prec(&self, len: usize) -> ScalarResult<Self::Result>

Calculates the statistics of the data contained in the vector as if the vector would have been split into len pieces using a more precise but slower algorithm. 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<f32> = vec!(1.0, 2.0, 3.0, 4.0, 5.0, 6.0);
let vector = vector.to_complex_time_vec();
let result = vector.statistics_split_prec(2).expect("Ignoring error handling in examples");
assert_eq!(result[0].sum, Complex64::new(6.0, 8.0));
assert_eq!(result[1].sum, Complex64::new(3.0, 4.0));
}
Loading content...

Implementors

impl<S, N, D> PreciseStatisticsSplitOps<f64> for DspVec<S, f32, N, D> where
    S: ToSlice<f32>,
    N: RealNumberSpace,
    D: Domain
[src]

impl<S, N, D> PreciseStatisticsSplitOps<f64> for DspVec<S, f64, N, D> where
    S: ToSlice<f64>,
    N: RealNumberSpace,
    D: Domain
[src]

impl<S, N, D> PreciseStatisticsSplitOps<Complex<f64>> for DspVec<S, f32, N, D> where
    S: ToSlice<f32>,
    N: ComplexNumberSpace,
    D: Domain
[src]

impl<S, N, D> PreciseStatisticsSplitOps<Complex<f64>> for DspVec<S, f64, N, D> where
    S: ToSlice<f64>,
    N: ComplexNumberSpace,
    D: Domain
[src]

Loading content...