Trait basic_dsp_vector::PreciseStatisticsSplitOps
[−]
[src]
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
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)); }
Implementors
impl<S, N, D> PreciseStatisticsSplitOps<f64> for DspVec<S, f32, N, D> where
S: ToSlice<f32>,
N: RealNumberSpace,
D: Domain, type Result = StatsVec<Statistics<f64>>;impl<S, N, D> PreciseStatisticsSplitOps<f64> for DspVec<S, f64, N, D> where
S: ToSlice<f64>,
N: RealNumberSpace,
D: Domain, type Result = StatsVec<Statistics<f64>>;impl<S, N, D> PreciseStatisticsSplitOps<Complex<f64>> for DspVec<S, f32, N, D> where
S: ToSlice<f32>,
N: ComplexNumberSpace,
D: Domain, type Result = StatsVec<Statistics<Complex<f64>>>;impl<S, N, D> PreciseStatisticsSplitOps<Complex<f64>> for DspVec<S, f64, N, D> where
S: ToSlice<f64>,
N: ComplexNumberSpace,
D: Domain, type Result = StatsVec<Statistics<Complex<f64>>>;