Trait basic_dsp::PreciseStatisticsSplitOps [−][src]
pub trait PreciseStatisticsSplitOps<T> {
type Result;
fn statistics_split_prec(
&self,
len: usize
) -> Result<Self::Result, ErrorReason>;
}Expand description
Offers the same functionality as the StatisticsOps trait but
the statistics are calculated in a more precise (and slower) way.
Associated Types
Required methods
fn statistics_split_prec(&self, len: usize) -> Result<Self::Result, ErrorReason>[src]
fn statistics_split_prec(&self, len: usize) -> Result<Self::Result, ErrorReason>[src]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<Complex<f32>> = vec!(Complex::new(1.0, 2.0), Complex::new(3.0, 4.0), Complex::new(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
N: RealNumberSpace,
S: ToSlice<f32>,
D: Domain, [src]
impl<S, N, D> PreciseStatisticsSplitOps<f64> for DspVec<S, f32, N, D> where
N: RealNumberSpace,
S: ToSlice<f32>,
D: Domain, [src]type Result = ArrayVec<Statistics<f64>, {_: usize}>pub fn statistics_split_prec(
&self,
len: usize
) -> Result<ArrayVec<Statistics<f64>, {_: usize}>, ErrorReason>[src]impl<S, N, D> PreciseStatisticsSplitOps<f64> for DspVec<S, f64, N, D> where
N: RealNumberSpace,
S: ToSlice<f64>,
D: Domain, [src]
impl<S, N, D> PreciseStatisticsSplitOps<f64> for DspVec<S, f64, N, D> where
N: RealNumberSpace,
S: ToSlice<f64>,
D: Domain, [src]type Result = ArrayVec<Statistics<f64>, {_: usize}>pub fn statistics_split_prec(
&self,
len: usize
) -> Result<ArrayVec<Statistics<f64>, {_: usize}>, ErrorReason>[src]impl<S, N, D> PreciseStatisticsSplitOps<Complex<f64>> for DspVec<S, f32, N, D> where
N: ComplexNumberSpace,
S: ToSlice<f32>,
D: Domain, [src]
impl<S, N, D> PreciseStatisticsSplitOps<Complex<f64>> for DspVec<S, f32, N, D> where
N: ComplexNumberSpace,
S: ToSlice<f32>,
D: Domain, [src]type Result = ArrayVec<Statistics<Complex<f64>>, {_: usize}>pub fn statistics_split_prec(
&self,
len: usize
) -> Result<ArrayVec<Statistics<Complex<f64>>, {_: usize}>, ErrorReason>[src]impl<S, N, D> PreciseStatisticsSplitOps<Complex<f64>> for DspVec<S, f64, N, D> where
N: ComplexNumberSpace,
S: ToSlice<f64>,
D: Domain, [src]
impl<S, N, D> PreciseStatisticsSplitOps<Complex<f64>> for DspVec<S, f64, N, D> where
N: ComplexNumberSpace,
S: ToSlice<f64>,
D: Domain, [src]type Result = ArrayVec<Statistics<Complex<f64>>, {_: usize}>pub fn statistics_split_prec(
&self,
len: usize
) -> Result<ArrayVec<Statistics<Complex<f64>>, {_: usize}>, ErrorReason>[src]impl<S, V, T> PreciseStatisticsSplitOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + PreciseStatisticsSplitOps<Statistics<T>, Result = ArrayVec<Statistics<T>, {_: usize}>>,
S: ToSlice<T>, [src]
impl<S, V, T> PreciseStatisticsSplitOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + PreciseStatisticsSplitOps<Statistics<T>, Result = ArrayVec<Statistics<T>, {_: usize}>>,
S: ToSlice<T>, [src]type Result = [ArrayVec<Statistics<T>, {_: usize}>; 2]pub fn statistics_split_prec(
&self,
len: usize
) -> Result<<Matrix2xN<V, S, T> as PreciseStatisticsSplitOps<T>>::Result, ErrorReason>[src]impl<S, V, T> PreciseStatisticsSplitOps<T> for Matrix3xN<V, S, T> where
T: RealNumber,
V: Vector<T> + PreciseStatisticsSplitOps<Statistics<T>, Result = ArrayVec<Statistics<T>, {_: usize}>>,
S: ToSlice<T>, [src]
impl<S, V, T> PreciseStatisticsSplitOps<T> for Matrix3xN<V, S, T> where
T: RealNumber,
V: Vector<T> + PreciseStatisticsSplitOps<Statistics<T>, Result = ArrayVec<Statistics<T>, {_: usize}>>,
S: ToSlice<T>, [src]type Result = [ArrayVec<Statistics<T>, {_: usize}>; 3]pub fn statistics_split_prec(
&self,
len: usize
) -> Result<<Matrix3xN<V, S, T> as PreciseStatisticsSplitOps<T>>::Result, ErrorReason>[src]impl<S, V, T> PreciseStatisticsSplitOps<T> for Matrix4xN<V, S, T> where
T: RealNumber,
V: Vector<T> + PreciseStatisticsSplitOps<Statistics<T>, Result = ArrayVec<Statistics<T>, {_: usize}>>,
S: ToSlice<T>, [src]
impl<S, V, T> PreciseStatisticsSplitOps<T> for Matrix4xN<V, S, T> where
T: RealNumber,
V: Vector<T> + PreciseStatisticsSplitOps<Statistics<T>, Result = ArrayVec<Statistics<T>, {_: usize}>>,
S: ToSlice<T>, [src]type Result = [ArrayVec<Statistics<T>, {_: usize}>; 4]pub fn statistics_split_prec(
&self,
len: usize
) -> Result<<Matrix4xN<V, S, T> as PreciseStatisticsSplitOps<T>>::Result, ErrorReason>[src]impl<S, V, T> PreciseStatisticsSplitOps<T> for MatrixMxN<V, S, T> where
T: RealNumber,
V: Vector<T> + PreciseStatisticsSplitOps<Statistics<T>, Result = ArrayVec<Statistics<T>, {_: usize}>>,
S: ToSlice<T>, [src]
impl<S, V, T> PreciseStatisticsSplitOps<T> for MatrixMxN<V, S, T> where
T: RealNumber,
V: Vector<T> + PreciseStatisticsSplitOps<Statistics<T>, Result = ArrayVec<Statistics<T>, {_: usize}>>,
S: ToSlice<T>, [src]type Result = Vec<ArrayVec<Statistics<T>, {_: usize}>, Global>pub fn statistics_split_prec(
&self,
len: usize
) -> Result<Vec<ArrayVec<Statistics<T>, {_: usize}>, Global>, ErrorReason>[src]