[−][src]Struct basic_dsp::DspVec
A 1xN (one times N elements) or Nx1 data vector as used for most digital signal processing (DSP) operations.
Vectors come in different flavors:
- Time or Frequency domain
- Real or Complex numbers
- 32bit or 64bit floating point numbers
The first two flavors define meta information about the vector and provide compile time
information what operations are available with the given vector and how this will transform
the vector. This makes sure that some invalid operations are already discovered at compile
time. In case that this isn't desired or the information about the vector isn't known at
compile time there are the generic DataVec32 and
DataVec64 vectors available.
32bit and 64bit flavors trade performance and memory consumption against accuracy. 32bit vectors are roughly two times faster than 64bit vectors for most operations. But remember that you should benchmark first before you give away accuracy for performance unless however you are sure that 32bit accuracy is certainly good enough.
Fields
data: SThe underlying storage. self.len() should be called to find out how many
elements in data contain valid data.
Methods
impl<S, T, N, D> DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
pub fn convolve_mat(
matrix: &[&DspVec<S, T, N, D>],
impulse_response: &[&DspVec<S, T, N, D>],
target: &mut [T]
) -> Result<(), ErrorReason>[src]
matrix: &[&DspVec<S, T, N, D>],
impulse_response: &[&DspVec<S, T, N, D>],
target: &mut [T]
) -> Result<(), ErrorReason>
Convolves a vector of vectors (in this lib also considered a matrix) with a vector
of impulse responses and stores the result in target.
impl<S, T> DspVec<S, T, RealOrComplex, TimeOrFreq> where
S: ToSliceMut<T>,
T: RealNumber, [src]
S: ToSliceMut<T>,
T: RealNumber,
pub fn is_erroneous(&self) -> bool[src]
Indicates whether or not the operations on this vector have been successful. Consider using the statically typed vector versions so that this check doesn't need to be performed.
Trait Implementations
impl<T, S> ToComplexTimeMatrix<DspVec<S, T, Complex, Time>, T> for Vec<S> where
S: ToComplexVector<S, T> + ToSlice<T>,
T: RealNumber, [src]
S: ToComplexVector<S, T> + ToSlice<T>,
T: RealNumber,
type Output = MatrixMxN<DspVec<S, T, Complex, Time>, S, T>
fn to_complex_time_mat(
self
) -> <Vec<S> as ToComplexTimeMatrix<DspVec<S, T, Complex, Time>, T>>::Output[src]
self
) -> <Vec<S> as ToComplexTimeMatrix<DspVec<S, T, Complex, Time>, T>>::Output
impl<T, S> ToComplexTimeMatrix<DspVec<S, T, Complex, Time>, T> for [S; 2] where
S: ToComplexVector<S, T> + ToSlice<T>,
T: RealNumber, [src]
S: ToComplexVector<S, T> + ToSlice<T>,
T: RealNumber,
type Output = Matrix2xN<DspVec<S, T, Complex, Time>, S, T>
fn to_complex_time_mat(
self
) -> <[S; 2] as ToComplexTimeMatrix<DspVec<S, T, Complex, Time>, T>>::Output[src]
self
) -> <[S; 2] as ToComplexTimeMatrix<DspVec<S, T, Complex, Time>, T>>::Output
impl<T, S> ToComplexTimeMatrix<DspVec<S, T, Complex, Time>, T> for [S; 3] where
S: ToComplexVector<S, T> + ToSlice<T>,
T: RealNumber, [src]
S: ToComplexVector<S, T> + ToSlice<T>,
T: RealNumber,
type Output = Matrix3xN<DspVec<S, T, Complex, Time>, S, T>
fn to_complex_time_mat(
self
) -> <[S; 3] as ToComplexTimeMatrix<DspVec<S, T, Complex, Time>, T>>::Output[src]
self
) -> <[S; 3] as ToComplexTimeMatrix<DspVec<S, T, Complex, Time>, T>>::Output
impl<T, S> ToComplexTimeMatrix<DspVec<S, T, Complex, Time>, T> for [S; 4] where
S: ToComplexVector<S, T> + ToSlice<T>,
T: RealNumber, [src]
S: ToComplexVector<S, T> + ToSlice<T>,
T: RealNumber,
type Output = Matrix4xN<DspVec<S, T, Complex, Time>, S, T>
fn to_complex_time_mat(
self
) -> <[S; 4] as ToComplexTimeMatrix<DspVec<S, T, Complex, Time>, T>>::Output[src]
self
) -> <[S; 4] as ToComplexTimeMatrix<DspVec<S, T, Complex, Time>, T>>::Output
impl<T, S> ToRealFreqMatrix<DspVec<S, T, Real, Freq>, T> for [S; 2] where
S: ToRealVector<T> + ToSlice<T>,
T: RealNumber, [src]
S: ToRealVector<T> + ToSlice<T>,
T: RealNumber,
type Output = Matrix2xN<DspVec<S, T, Real, Freq>, S, T>
fn to_real_freq_mat(
self
) -> <[S; 2] as ToRealFreqMatrix<DspVec<S, T, Real, Freq>, T>>::Output[src]
self
) -> <[S; 2] as ToRealFreqMatrix<DspVec<S, T, Real, Freq>, T>>::Output
impl<T, S> ToRealFreqMatrix<DspVec<S, T, Real, Freq>, T> for Vec<S> where
S: ToRealVector<T> + ToSlice<T>,
T: RealNumber, [src]
S: ToRealVector<T> + ToSlice<T>,
T: RealNumber,
type Output = MatrixMxN<DspVec<S, T, Real, Freq>, S, T>
fn to_real_freq_mat(
self
) -> <Vec<S> as ToRealFreqMatrix<DspVec<S, T, Real, Freq>, T>>::Output[src]
self
) -> <Vec<S> as ToRealFreqMatrix<DspVec<S, T, Real, Freq>, T>>::Output
impl<T, S> ToRealFreqMatrix<DspVec<S, T, Real, Freq>, T> for [S; 4] where
S: ToRealVector<T> + ToSlice<T>,
T: RealNumber, [src]
S: ToRealVector<T> + ToSlice<T>,
T: RealNumber,
type Output = Matrix4xN<DspVec<S, T, Real, Freq>, S, T>
fn to_real_freq_mat(
self
) -> <[S; 4] as ToRealFreqMatrix<DspVec<S, T, Real, Freq>, T>>::Output[src]
self
) -> <[S; 4] as ToRealFreqMatrix<DspVec<S, T, Real, Freq>, T>>::Output
impl<T, S> ToRealFreqMatrix<DspVec<S, T, Real, Freq>, T> for [S; 3] where
S: ToRealVector<T> + ToSlice<T>,
T: RealNumber, [src]
S: ToRealVector<T> + ToSlice<T>,
T: RealNumber,
type Output = Matrix3xN<DspVec<S, T, Real, Freq>, S, T>
fn to_real_freq_mat(
self
) -> <[S; 3] as ToRealFreqMatrix<DspVec<S, T, Real, Freq>, T>>::Output[src]
self
) -> <[S; 3] as ToRealFreqMatrix<DspVec<S, T, Real, Freq>, T>>::Output
impl<T, S> ToRealTimeMatrix<DspVec<S, T, Real, Time>, T> for [S; 3] where
S: ToRealVector<T> + ToSlice<T>,
T: RealNumber, [src]
S: ToRealVector<T> + ToSlice<T>,
T: RealNumber,
type Output = Matrix3xN<DspVec<S, T, Real, Time>, S, T>
fn to_real_time_mat(
self
) -> <[S; 3] as ToRealTimeMatrix<DspVec<S, T, Real, Time>, T>>::Output[src]
self
) -> <[S; 3] as ToRealTimeMatrix<DspVec<S, T, Real, Time>, T>>::Output
impl<T, S> ToRealTimeMatrix<DspVec<S, T, Real, Time>, T> for [S; 2] where
S: ToRealVector<T> + ToSlice<T>,
T: RealNumber, [src]
S: ToRealVector<T> + ToSlice<T>,
T: RealNumber,
type Output = Matrix2xN<DspVec<S, T, Real, Time>, S, T>
fn to_real_time_mat(
self
) -> <[S; 2] as ToRealTimeMatrix<DspVec<S, T, Real, Time>, T>>::Output[src]
self
) -> <[S; 2] as ToRealTimeMatrix<DspVec<S, T, Real, Time>, T>>::Output
impl<T, S> ToRealTimeMatrix<DspVec<S, T, Real, Time>, T> for Vec<S> where
S: ToRealVector<T> + ToSlice<T>,
T: RealNumber, [src]
S: ToRealVector<T> + ToSlice<T>,
T: RealNumber,
type Output = MatrixMxN<DspVec<S, T, Real, Time>, S, T>
fn to_real_time_mat(
self
) -> <Vec<S> as ToRealTimeMatrix<DspVec<S, T, Real, Time>, T>>::Output[src]
self
) -> <Vec<S> as ToRealTimeMatrix<DspVec<S, T, Real, Time>, T>>::Output
impl<T, S> ToRealTimeMatrix<DspVec<S, T, Real, Time>, T> for [S; 4] where
S: ToRealVector<T> + ToSlice<T>,
T: RealNumber, [src]
S: ToRealVector<T> + ToSlice<T>,
T: RealNumber,
type Output = Matrix4xN<DspVec<S, T, Real, Time>, S, T>
fn to_real_time_mat(
self
) -> <[S; 4] as ToRealTimeMatrix<DspVec<S, T, Real, Time>, T>>::Output[src]
self
) -> <[S; 4] as ToRealTimeMatrix<DspVec<S, T, Real, Time>, T>>::Output
impl<T, S> ToDspMatrix<DspVec<S, T, RealOrComplex, TimeOrFreq>, T> for [S; 4] where
S: ToDspVector<T> + ToSlice<T>,
T: RealNumber, [src]
S: ToDspVector<T> + ToSlice<T>,
T: RealNumber,
type Output = Matrix4xN<DspVec<S, T, RealOrComplex, TimeOrFreq>, S, T>
fn to_gen_dsp_mat(
self,
is_complex: bool,
domain: DataDomain
) -> <[S; 4] as ToDspMatrix<DspVec<S, T, RealOrComplex, TimeOrFreq>, T>>::Output[src]
self,
is_complex: bool,
domain: DataDomain
) -> <[S; 4] as ToDspMatrix<DspVec<S, T, RealOrComplex, TimeOrFreq>, T>>::Output
impl<T, S> ToDspMatrix<DspVec<S, T, RealOrComplex, TimeOrFreq>, T> for Vec<S> where
S: ToDspVector<T> + ToSlice<T>,
T: RealNumber, [src]
S: ToDspVector<T> + ToSlice<T>,
T: RealNumber,
type Output = MatrixMxN<DspVec<S, T, RealOrComplex, TimeOrFreq>, S, T>
fn to_gen_dsp_mat(
self,
is_complex: bool,
domain: DataDomain
) -> <Vec<S> as ToDspMatrix<DspVec<S, T, RealOrComplex, TimeOrFreq>, T>>::Output[src]
self,
is_complex: bool,
domain: DataDomain
) -> <Vec<S> as ToDspMatrix<DspVec<S, T, RealOrComplex, TimeOrFreq>, T>>::Output
impl<T, S> ToDspMatrix<DspVec<S, T, RealOrComplex, TimeOrFreq>, T> for [S; 2] where
S: ToDspVector<T> + ToSlice<T>,
T: RealNumber, [src]
S: ToDspVector<T> + ToSlice<T>,
T: RealNumber,
type Output = Matrix2xN<DspVec<S, T, RealOrComplex, TimeOrFreq>, S, T>
fn to_gen_dsp_mat(
self,
is_complex: bool,
domain: DataDomain
) -> <[S; 2] as ToDspMatrix<DspVec<S, T, RealOrComplex, TimeOrFreq>, T>>::Output[src]
self,
is_complex: bool,
domain: DataDomain
) -> <[S; 2] as ToDspMatrix<DspVec<S, T, RealOrComplex, TimeOrFreq>, T>>::Output
impl<T, S> ToDspMatrix<DspVec<S, T, RealOrComplex, TimeOrFreq>, T> for [S; 3] where
S: ToDspVector<T> + ToSlice<T>,
T: RealNumber, [src]
S: ToDspVector<T> + ToSlice<T>,
T: RealNumber,
type Output = Matrix3xN<DspVec<S, T, RealOrComplex, TimeOrFreq>, S, T>
fn to_gen_dsp_mat(
self,
is_complex: bool,
domain: DataDomain
) -> <[S; 3] as ToDspMatrix<DspVec<S, T, RealOrComplex, TimeOrFreq>, T>>::Output[src]
self,
is_complex: bool,
domain: DataDomain
) -> <[S; 3] as ToDspMatrix<DspVec<S, T, RealOrComplex, TimeOrFreq>, T>>::Output
impl<S, T, N, D> ToMatrix<DspVec<S, T, N, D>, T> for Vec<DspVec<S, T, N, D>> where
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber,
type Output = MatrixMxN<DspVec<S, T, N, D>, S, T>
fn to_mat(
self
) -> <Vec<DspVec<S, T, N, D>> as ToMatrix<DspVec<S, T, N, D>, T>>::Output[src]
self
) -> <Vec<DspVec<S, T, N, D>> as ToMatrix<DspVec<S, T, N, D>, T>>::Output
impl<S, T, N, D> ToMatrix<DspVec<S, T, N, D>, T> for [DspVec<S, T, N, D>; 2] where
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber,
type Output = Matrix2xN<DspVec<S, T, N, D>, S, T>
fn to_mat(
self
) -> <[DspVec<S, T, N, D>; 2] as ToMatrix<DspVec<S, T, N, D>, T>>::Output[src]
self
) -> <[DspVec<S, T, N, D>; 2] as ToMatrix<DspVec<S, T, N, D>, T>>::Output
impl<S, T, N, D> ToMatrix<DspVec<S, T, N, D>, T> for [DspVec<S, T, N, D>; 3] where
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber,
type Output = Matrix3xN<DspVec<S, T, N, D>, S, T>
fn to_mat(
self
) -> <[DspVec<S, T, N, D>; 3] as ToMatrix<DspVec<S, T, N, D>, T>>::Output[src]
self
) -> <[DspVec<S, T, N, D>; 3] as ToMatrix<DspVec<S, T, N, D>, T>>::Output
impl<S, T, N, D> ToMatrix<DspVec<S, T, N, D>, T> for [DspVec<S, T, N, D>; 4] where
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber,
type Output = Matrix4xN<DspVec<S, T, N, D>, S, T>
fn to_mat(
self
) -> <[DspVec<S, T, N, D>; 4] as ToMatrix<DspVec<S, T, N, D>, T>>::Output[src]
self
) -> <[DspVec<S, T, N, D>; 4] as ToMatrix<DspVec<S, T, N, D>, T>>::Output
impl<S, T, N, D> ConvolutionOps<DspVec<S, T, N, D>, S, T, N, D> for Matrix3xN<DspVec<S, T, N, D>, S, T> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ConvolutionOps<DspVec<S, T, N, D>, S, T, N, D>, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ConvolutionOps<DspVec<S, T, N, D>, S, T, N, D>,
fn convolve_signal<B>(
&mut self,
buffer: &mut B,
impulse_response: &DspVec<S, T, N, D>
) -> Result<(), ErrorReason> where
B: Buffer<'b, S, T>, [src]
&mut self,
buffer: &mut B,
impulse_response: &DspVec<S, T, N, D>
) -> Result<(), ErrorReason> where
B: Buffer<'b, S, T>,
impl<S, T, N, D> ConvolutionOps<DspVec<S, T, N, D>, S, T, N, D> for Matrix2xN<DspVec<S, T, N, D>, S, T> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ConvolutionOps<DspVec<S, T, N, D>, S, T, N, D>, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ConvolutionOps<DspVec<S, T, N, D>, S, T, N, D>,
fn convolve_signal<B>(
&mut self,
buffer: &mut B,
impulse_response: &DspVec<S, T, N, D>
) -> Result<(), ErrorReason> where
B: Buffer<'b, S, T>, [src]
&mut self,
buffer: &mut B,
impulse_response: &DspVec<S, T, N, D>
) -> Result<(), ErrorReason> where
B: Buffer<'b, S, T>,
impl<S, T, N, D> ConvolutionOps<DspVec<S, T, N, D>, S, T, N, D> for MatrixMxN<DspVec<S, T, N, D>, S, T> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ConvolutionOps<DspVec<S, T, N, D>, S, T, N, D>, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ConvolutionOps<DspVec<S, T, N, D>, S, T, N, D>,
fn convolve_signal<B>(
&mut self,
buffer: &mut B,
impulse_response: &DspVec<S, T, N, D>
) -> Result<(), ErrorReason> where
B: Buffer<'b, S, T>, [src]
&mut self,
buffer: &mut B,
impulse_response: &DspVec<S, T, N, D>
) -> Result<(), ErrorReason> where
B: Buffer<'b, S, T>,
impl<S, T, N, D> ConvolutionOps<DspVec<S, T, N, D>, S, T, N, D> for Matrix4xN<DspVec<S, T, N, D>, S, T> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ConvolutionOps<DspVec<S, T, N, D>, S, T, N, D>, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ConvolutionOps<DspVec<S, T, N, D>, S, T, N, D>,
fn convolve_signal<B>(
&mut self,
buffer: &mut B,
impulse_response: &DspVec<S, T, N, D>
) -> Result<(), ErrorReason> where
B: Buffer<'b, S, T>, [src]
&mut self,
buffer: &mut B,
impulse_response: &DspVec<S, T, N, D>
) -> Result<(), ErrorReason> where
B: Buffer<'b, S, T>,
impl<S, T, N, D> FromVectorFloat<T> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber,
type Output = S
Type of the underlying storage of a vector.
fn getf(self) -> (<DspVec<S, T, N, D> as FromVectorFloat<T>>::Output, usize)[src]
impl<S, T, D, N> ScaleOps<T> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, D, N> ScaleOps<Complex<T>> for DspVec<S, T, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, N, D> SplitOps for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
fn split_into(
&self,
targets: &mut [&mut DspVec<S, T, N, D>]
) -> Result<(), ErrorReason>[src]
&self,
targets: &mut [&mut DspVec<S, T, N, D>]
) -> Result<(), ErrorReason>
impl<S, T, N, D> Vector<T> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber,
fn delta(&self) -> T[src]
fn set_delta(&mut self, delta: T)[src]
fn len(&self) -> usize[src]
fn is_empty(&self) -> bool[src]
fn points(&self) -> usize[src]
fn get_multicore_settings(&self) -> &MultiCoreSettings[src]
fn set_multicore_settings(&mut self, settings: MultiCoreSettings)[src]
fn alloc_len(&self) -> usize[src]
impl<S, T, N, D> PowerOps<T> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
fn sqrt(&mut self)[src]
fn square(&mut self)[src]
fn root(&mut self, degree: T)[src]
fn powf(&mut self, exponent: T)[src]
fn ln(&mut self)[src]
fn exp(&mut self)[src]
fn log(&mut self, base: T)[src]
fn expf(&mut self, base: T)[src]
impl<S, O, T, N, D, NO, DO> PreciseDotProductOps<O, Complex<T>, T, NO, DO> for DspVec<S, T, N, D> where
D: Domain,
DO: PosEq<D> + Domain,
N: ComplexNumberSpace,
NO: PosEq<N> + NumberSpace,
O: Vector<T> + GetMetaData<T, NO, DO>,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
DO: PosEq<D> + Domain,
N: ComplexNumberSpace,
NO: PosEq<N> + NumberSpace,
O: Vector<T> + GetMetaData<T, NO, DO>,
S: ToSlice<T>,
T: RealNumber,
type Output = Result<Complex<T>, ErrorReason>
fn dot_product_prec(&self, factor: &O) -> Result<Complex<T>, ErrorReason>[src]
impl<S, O, T, N, D, NO, DO> PreciseDotProductOps<O, T, T, NO, DO> for DspVec<S, T, N, D> where
D: Domain,
DO: PosEq<D> + Domain,
N: RealNumberSpace,
NO: PosEq<N> + NumberSpace,
O: Vector<T> + GetMetaData<T, NO, DO>,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
DO: PosEq<D> + Domain,
N: RealNumberSpace,
NO: PosEq<N> + NumberSpace,
O: Vector<T> + GetMetaData<T, NO, DO>,
S: ToSlice<T>,
T: RealNumber,
type Output = Result<T, ErrorReason>
fn dot_product_prec(&self, factor: &O) -> Result<T, ErrorReason>[src]
impl<S, T, N, D> InsertZerosOpsBuffered<S, T> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
fn zero_pad_b<B>(
&mut self,
buffer: &mut B,
points: usize,
option: PaddingOption
) -> Result<(), ErrorReason> where
B: Buffer<'a, S, T>, [src]
&mut self,
buffer: &mut B,
points: usize,
option: PaddingOption
) -> Result<(), ErrorReason> where
B: Buffer<'a, S, T>,
fn zero_interleave_b<B>(&mut self, buffer: &mut B, factor: u32) where
B: Buffer<'a, S, T>, [src]
B: Buffer<'a, S, T>,
impl<S, T, N, D> InsertZerosOps<T> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
fn zero_pad(
&mut self,
points: usize,
option: PaddingOption
) -> Result<(), ErrorReason>[src]
&mut self,
points: usize,
option: PaddingOption
) -> Result<(), ErrorReason>
fn zero_interleave(&mut self, factor: u32) -> Result<(), ErrorReason>[src]
impl<S, O, T, N, D, NO, DO> DotProductOps<O, T, T, NO, DO> for DspVec<S, T, N, D> where
D: Domain,
DO: PosEq<D> + Domain,
N: RealNumberSpace,
NO: PosEq<N> + NumberSpace,
O: Vector<T> + GetMetaData<T, NO, DO>,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
DO: PosEq<D> + Domain,
N: RealNumberSpace,
NO: PosEq<N> + NumberSpace,
O: Vector<T> + GetMetaData<T, NO, DO>,
S: ToSlice<T>,
T: RealNumber,
type Output = Result<T, ErrorReason>
fn dot_product(&self, factor: &O) -> Result<T, ErrorReason>[src]
impl<S, O, T, N, D, NO, DO> DotProductOps<O, Complex<T>, T, NO, DO> for DspVec<S, T, N, D> where
D: Domain,
DO: PosEq<D> + Domain,
N: ComplexNumberSpace,
NO: PosEq<N> + NumberSpace,
O: Vector<T> + GetMetaData<T, NO, DO>,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
DO: PosEq<D> + Domain,
N: ComplexNumberSpace,
NO: PosEq<N> + NumberSpace,
O: Vector<T> + GetMetaData<T, NO, DO>,
S: ToSlice<T>,
T: RealNumber,
type Output = Result<Complex<T>, ErrorReason>
fn dot_product(&self, factor: &O) -> Result<Complex<T>, ErrorReason>[src]
impl<S, T, N, D> RealToComplexTransformsOps<T> for DspVec<S, T, N, D> where
D: Domain,
N: RealNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToComplexResult,
DspVec<S, T, N, D>: InsertZerosOps<T>,
<DspVec<S, T, N, D> as ToComplexResult>::ComplexResult: RededicateForceOps<DspVec<S, T, N, D>>, [src]
D: Domain,
N: RealNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToComplexResult,
DspVec<S, T, N, D>: InsertZerosOps<T>,
<DspVec<S, T, N, D> as ToComplexResult>::ComplexResult: RededicateForceOps<DspVec<S, T, N, D>>,
fn to_complex(
self
) -> Result<<DspVec<S, T, N, D> as ToComplexResult>::ComplexResult, (ErrorReason, <DspVec<S, T, N, D> as ToComplexResult>::ComplexResult)>[src]
self
) -> Result<<DspVec<S, T, N, D> as ToComplexResult>::ComplexResult, (ErrorReason, <DspVec<S, T, N, D> as ToComplexResult>::ComplexResult)>
impl<S, T, N, D> ComplexIndexMut<RangeFrom<usize>> for DspVec<S, T, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, N, D> ComplexIndexMut<usize> for DspVec<S, T, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, N, D> ComplexIndexMut<RangeTo<usize>> for DspVec<S, T, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, N, D> ComplexIndexMut<Range<usize>> for DspVec<S, T, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, N, D> ComplexIndexMut<RangeFull> for DspVec<S, T, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T> ToFreqResult for DspVec<S, T, Complex, Time> where
S: ToSlice<T>,
T: RealNumber, [src]
S: ToSlice<T>,
T: RealNumber,
type FreqResult = DspVec<S, T, Complex, Freq>
impl<S, T> ToFreqResult for DspVec<S, T, RealOrComplex, TimeOrFreq> where
S: ToSlice<T>,
T: RealNumber, [src]
S: ToSlice<T>,
T: RealNumber,
type FreqResult = DspVec<S, T, RealOrComplex, TimeOrFreq>
impl<S, T> ToFreqResult for DspVec<S, T, Real, Time> where
S: ToSlice<T>,
T: RealNumber, [src]
S: ToSlice<T>,
T: RealNumber,
type FreqResult = DspVec<S, T, Complex, Freq>
impl<S, T, N, D> ReorganizeDataOps<T> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
fn reverse(&mut self)[src]
fn swap_halves(&mut self)[src]
impl<'a, S, T, N, D> Convolution<'a, S, T, &'a (dyn RealImpulseResponse<T> + 'a)> for DspVec<S, T, N, D> where
D: TimeDomain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: TimeToFrequencyDomainOperations<S, T>,
DspVec<S, T, N, D>: Clone,
DspVec<S, T, N, D>: ConvolutionOps<DspVec<InlineVector<T>, T, N, D>, S, T, N, D>, [src]
D: TimeDomain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: TimeToFrequencyDomainOperations<S, T>,
DspVec<S, T, N, D>: Clone,
DspVec<S, T, N, D>: ConvolutionOps<DspVec<InlineVector<T>, T, N, D>, S, T, N, D>,
fn convolve<B>(
&mut self,
buffer: &mut B,
function: &dyn RealImpulseResponse<T>,
ratio: T,
len: usize
) where
B: Buffer<'b, S, T>, [src]
&mut self,
buffer: &mut B,
function: &dyn RealImpulseResponse<T>,
ratio: T,
len: usize
) where
B: Buffer<'b, S, T>,
impl<'a, S, T, N, D> Convolution<'a, S, T, &'a (dyn ComplexImpulseResponse<T> + 'a)> for DspVec<S, T, N, D> where
D: TimeDomain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: TimeToFrequencyDomainOperations<S, T>,
DspVec<S, T, N, D>: Clone,
DspVec<S, T, N, D>: ConvolutionOps<DspVec<InlineVector<T>, T, N, D>, S, T, N, D>, [src]
D: TimeDomain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: TimeToFrequencyDomainOperations<S, T>,
DspVec<S, T, N, D>: Clone,
DspVec<S, T, N, D>: ConvolutionOps<DspVec<InlineVector<T>, T, N, D>, S, T, N, D>,
fn convolve<B>(
&mut self,
buffer: &mut B,
function: &dyn ComplexImpulseResponse<T>,
ratio: T,
len: usize
) where
B: Buffer<'b, S, T>, [src]
&mut self,
buffer: &mut B,
function: &dyn ComplexImpulseResponse<T>,
ratio: T,
len: usize
) where
B: Buffer<'b, S, T>,
impl<S, T, N, D> ComplexIndex<usize> for DspVec<S, T, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<T>,
T: RealNumber,
impl<S, T, N, D> ComplexIndex<RangeFull> for DspVec<S, T, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<T>,
T: RealNumber,
impl<S, T, N, D> ComplexIndex<Range<usize>> for DspVec<S, T, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<T>,
T: RealNumber,
impl<S, T, N, D> ComplexIndex<RangeFrom<usize>> for DspVec<S, T, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<T>,
T: RealNumber,
impl<S, T, N, D> ComplexIndex<RangeTo<usize>> for DspVec<S, T, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<T>,
T: RealNumber,
impl<S, T, N, NR, D, O, DO> ComplexToRealSetterOps<O, T, NR, DO> for DspVec<S, T, N, D> where
D: Domain,
DO: PosEq<D> + Domain,
N: ComplexNumberSpace,
NR: RealNumberSpace,
O: FloatIndex<Range<usize>, Output = [T]> + Vector<T> + GetMetaData<T, NR, DO>,
S: ToSliceMut<T> + Resize,
T: RealNumber,
DspVec<S, T, N, D>: ToRealResult, [src]
D: Domain,
DO: PosEq<D> + Domain,
N: ComplexNumberSpace,
NR: RealNumberSpace,
O: FloatIndex<Range<usize>, Output = [T]> + Vector<T> + GetMetaData<T, NR, DO>,
S: ToSliceMut<T> + Resize,
T: RealNumber,
DspVec<S, T, N, D>: ToRealResult,
fn set_real_imag(&mut self, real: &O, imag: &O) -> Result<(), ErrorReason>[src]
fn set_mag_phase(&mut self, mag: &O, phase: &O) -> Result<(), ErrorReason>[src]
impl<S, T, N, D> SymmetricTimeToFrequencyDomainOperations<S, T> for DspVec<S, T, N, D> where
D: TimeDomain,
N: RealNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToFreqResult,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: RededicateForceOps<DspVec<S, T, N, D>>,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: FrequencyDomainOperations<S, T>,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: ResizeOps, [src]
D: TimeDomain,
N: RealNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToFreqResult,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: RededicateForceOps<DspVec<S, T, N, D>>,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: FrequencyDomainOperations<S, T>,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: ResizeOps,
fn plain_sfft<B>(
self,
buffer: &mut B
) -> Result<<DspVec<S, T, N, D> as ToFreqResult>::FreqResult, (ErrorReason, <DspVec<S, T, N, D> as ToFreqResult>::FreqResult)> where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B
) -> Result<<DspVec<S, T, N, D> as ToFreqResult>::FreqResult, (ErrorReason, <DspVec<S, T, N, D> as ToFreqResult>::FreqResult)> where
B: Buffer<'a, S, T>,
fn sfft<B>(
self,
buffer: &mut B
) -> Result<<DspVec<S, T, N, D> as ToFreqResult>::FreqResult, (ErrorReason, <DspVec<S, T, N, D> as ToFreqResult>::FreqResult)> where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B
) -> Result<<DspVec<S, T, N, D> as ToFreqResult>::FreqResult, (ErrorReason, <DspVec<S, T, N, D> as ToFreqResult>::FreqResult)> where
B: Buffer<'a, S, T>,
fn windowed_sfft<B>(
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> Result<<DspVec<S, T, N, D> as ToFreqResult>::FreqResult, (ErrorReason, <DspVec<S, T, N, D> as ToFreqResult>::FreqResult)> where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> Result<<DspVec<S, T, N, D> as ToFreqResult>::FreqResult, (ErrorReason, <DspVec<S, T, N, D> as ToFreqResult>::FreqResult)> where
B: Buffer<'a, S, T>,
impl<S, T> ToRealResult for DspVec<S, T, Complex, Freq> where
S: ToSlice<T>,
T: RealNumber, [src]
S: ToSlice<T>,
T: RealNumber,
type RealResult = DspVec<S, T, Real, Freq>
impl<S, T> ToRealResult for DspVec<S, T, Complex, Time> where
S: ToSlice<T>,
T: RealNumber, [src]
S: ToSlice<T>,
T: RealNumber,
type RealResult = DspVec<S, T, Real, Time>
impl<S, T> ToRealResult for DspVec<S, T, RealOrComplex, TimeOrFreq> where
S: ToSlice<T>,
T: RealNumber, [src]
S: ToSlice<T>,
T: RealNumber,
type RealResult = DspVec<S, T, RealOrComplex, TimeOrFreq>
impl<S, T, D> Index<usize> for DspVec<S, T, Complex, D> where
D: Domain,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
S: ToSlice<T>,
T: RealNumber,
type Output = Complex<T>
The returned type after indexing.
fn index(&self, index: usize) -> &Complex<T>[src]
impl<S, T, D> Index<Range<usize>> for DspVec<S, T, Real, D> where
D: Domain,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
S: ToSlice<T>,
T: RealNumber,
type Output = [T]
The returned type after indexing.
fn index(&self, index: Range<usize>) -> &[T][src]
impl<S, T, D> Index<RangeFull> for DspVec<S, T, Real, D> where
D: Domain,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
S: ToSlice<T>,
T: RealNumber,
impl<S, T, D> Index<RangeTo<usize>> for DspVec<S, T, Real, D> where
D: Domain,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
S: ToSlice<T>,
T: RealNumber,
type Output = [T]
The returned type after indexing.
fn index(&self, index: RangeTo<usize>) -> &[T][src]
impl<S, T, D> Index<RangeTo<usize>> for DspVec<S, T, Complex, D> where
D: Domain,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
S: ToSlice<T>,
T: RealNumber,
type Output = [Complex<T>]
The returned type after indexing.
fn index(&self, index: RangeTo<usize>) -> &[Complex<T>][src]
impl<S, T, D> Index<RangeFrom<usize>> for DspVec<S, T, Complex, D> where
D: Domain,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
S: ToSlice<T>,
T: RealNumber,
type Output = [Complex<T>]
The returned type after indexing.
fn index(&self, index: RangeFrom<usize>) -> &[Complex<T>][src]
impl<S, T, D> Index<RangeFrom<usize>> for DspVec<S, T, Real, D> where
D: Domain,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
S: ToSlice<T>,
T: RealNumber,
type Output = [T]
The returned type after indexing.
fn index(&self, index: RangeFrom<usize>) -> &[T][src]
impl<S, T, D> Index<Range<usize>> for DspVec<S, T, Complex, D> where
D: Domain,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
S: ToSlice<T>,
T: RealNumber,
type Output = [Complex<T>]
The returned type after indexing.
fn index(&self, index: Range<usize>) -> &[Complex<T>][src]
impl<S, T, D> Index<RangeFull> for DspVec<S, T, Complex, D> where
D: Domain,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
S: ToSlice<T>,
T: RealNumber,
type Output = [Complex<T>]
The returned type after indexing.
fn index(&self, index: RangeFull) -> &[Complex<T>][src]
impl<S, T, D> Index<usize> for DspVec<S, T, Real, D> where
D: Domain,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
S: ToSlice<T>,
T: RealNumber,
impl<S, T, N, D, R> MapAggregateOps<Complex<T>, R> for DspVec<S, T, N, D> where
D: Domain,
N: ComplexNumberSpace,
R: Send,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: ComplexNumberSpace,
R: Send,
S: ToSlice<T>,
T: RealNumber,
type Output = Result<R, ErrorReason>
fn map_aggregate<'a, A, FMap, FAggr>(
&self,
argument: A,
map: &FMap,
aggregate: &FAggr
) -> Result<R, ErrorReason> where
A: Sync + Copy + Send,
FAggr: Fn(R, R) -> R + 'a + Sync + Send,
FMap: Fn(Complex<T>, usize, A) -> R + 'a + Sync, [src]
&self,
argument: A,
map: &FMap,
aggregate: &FAggr
) -> Result<R, ErrorReason> where
A: Sync + Copy + Send,
FAggr: Fn(R, R) -> R + 'a + Sync + Send,
FMap: Fn(Complex<T>, usize, A) -> R + 'a + Sync,
impl<S, T, N, D, R> MapAggregateOps<T, R> for DspVec<S, T, N, D> where
D: Domain,
N: RealNumberSpace,
R: Send,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: RealNumberSpace,
R: Send,
S: ToSlice<T>,
T: RealNumber,
type Output = Result<R, ErrorReason>
fn map_aggregate<'a, A, FMap, FAggr>(
&self,
argument: A,
map: &FMap,
aggregate: &FAggr
) -> Result<R, ErrorReason> where
A: Sync + Copy + Send,
FAggr: Fn(R, R) -> R + 'a + Sync + Send,
FMap: Fn(T, usize, A) -> R + 'a + Sync, [src]
&self,
argument: A,
map: &FMap,
aggregate: &FAggr
) -> Result<R, ErrorReason> where
A: Sync + Copy + Send,
FAggr: Fn(R, R) -> R + 'a + Sync + Send,
FMap: Fn(T, usize, A) -> R + 'a + Sync,
impl<S, T, N, D> Debug for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber,
impl<S, T, N, D> RealInterpolationOps<S, T> for DspVec<S, T, N, D> where
D: Domain,
N: RealNumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: RealNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
fn interpolate_lin<B>(
&mut self,
buffer: &mut B,
interpolation_factor: T,
delay: T
) where
B: Buffer<'a, S, T>, [src]
&mut self,
buffer: &mut B,
interpolation_factor: T,
delay: T
) where
B: Buffer<'a, S, T>,
fn interpolate_hermite<B>(
&mut self,
buffer: &mut B,
interpolation_factor: T,
delay: T
) where
B: Buffer<'a, S, T>, [src]
&mut self,
buffer: &mut B,
interpolation_factor: T,
delay: T
) where
B: Buffer<'a, S, T>,
impl<S, N, D> PreciseSumOps<Complex<f64>> for DspVec<S, f32, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<f32>, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<f32>,
impl<S, N, D> PreciseSumOps<f64> for DspVec<S, f32, N, D> where
D: Domain,
N: RealNumberSpace,
S: ToSlice<f32>, [src]
D: Domain,
N: RealNumberSpace,
S: ToSlice<f32>,
impl<S, N, D> PreciseSumOps<f64> for DspVec<S, f64, N, D> where
D: Domain,
N: RealNumberSpace,
S: ToSlice<f64>, [src]
D: Domain,
N: RealNumberSpace,
S: ToSlice<f64>,
impl<S, N, D> PreciseSumOps<Complex<f64>> for DspVec<S, f64, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<f64>, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<f64>,
impl<S, T, N, D> ApproximatedOps<T> for DspVec<S, T, N, D> where
D: Domain,
N: RealNumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: RealNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
fn ln_approx(&mut self)[src]
fn exp_approx(&mut self)[src]
fn sin_approx(&mut self)[src]
fn cos_approx(&mut self)[src]
fn log_approx(&mut self, base: T)[src]
fn expf_approx(&mut self, base: T)[src]
fn powf_approx(&mut self, exponent: T)[src]
impl<S, T, N, D> ModuloOps<T> for DspVec<S, T, N, D> where
D: Domain,
N: RealNumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: RealNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, N, D> TimeDomainOperations<S, T> for DspVec<S, T, N, D> where
D: TimeDomain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToFreqResult,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: RededicateForceOps<DspVec<S, T, N, D>>, [src]
D: TimeDomain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToFreqResult,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: RededicateForceOps<DspVec<S, T, N, D>>,
fn apply_window(&mut self, window: &dyn WindowFunction<T>)[src]
fn unapply_window(&mut self, window: &dyn WindowFunction<T>)[src]
impl<S, N, D> PreciseStatisticsSplitOps<f64> for DspVec<S, f32, N, D> where
D: Domain,
N: RealNumberSpace,
S: ToSlice<f32>, [src]
D: Domain,
N: RealNumberSpace,
S: ToSlice<f32>,
type Result = ArrayVec<[Statistics<f64>; 16]>
fn statistics_split_prec(
&self,
len: usize
) -> Result<ArrayVec<[Statistics<f64>; 16]>, ErrorReason>[src]
&self,
len: usize
) -> Result<ArrayVec<[Statistics<f64>; 16]>, ErrorReason>
impl<S, N, D> PreciseStatisticsSplitOps<Complex<f64>> for DspVec<S, f32, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<f32>, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<f32>,
type Result = ArrayVec<[Statistics<Complex<f64>>; 16]>
fn statistics_split_prec(
&self,
len: usize
) -> Result<ArrayVec<[Statistics<Complex<f64>>; 16]>, ErrorReason>[src]
&self,
len: usize
) -> Result<ArrayVec<[Statistics<Complex<f64>>; 16]>, ErrorReason>
impl<S, N, D> PreciseStatisticsSplitOps<f64> for DspVec<S, f64, N, D> where
D: Domain,
N: RealNumberSpace,
S: ToSlice<f64>, [src]
D: Domain,
N: RealNumberSpace,
S: ToSlice<f64>,
type Result = ArrayVec<[Statistics<f64>; 16]>
fn statistics_split_prec(
&self,
len: usize
) -> Result<ArrayVec<[Statistics<f64>; 16]>, ErrorReason>[src]
&self,
len: usize
) -> Result<ArrayVec<[Statistics<f64>; 16]>, ErrorReason>
impl<S, N, D> PreciseStatisticsSplitOps<Complex<f64>> for DspVec<S, f64, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<f64>, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<f64>,
type Result = ArrayVec<[Statistics<Complex<f64>>; 16]>
fn statistics_split_prec(
&self,
len: usize
) -> Result<ArrayVec<[Statistics<Complex<f64>>; 16]>, ErrorReason>[src]
&self,
len: usize
) -> Result<ArrayVec<[Statistics<Complex<f64>>; 16]>, ErrorReason>
impl<S, N, D> PreciseStatisticsOps<f64> for DspVec<S, f32, N, D> where
D: Domain,
N: RealNumberSpace,
S: ToSlice<f32>, [src]
D: Domain,
N: RealNumberSpace,
S: ToSlice<f32>,
type Result = Statistics<f64>
fn statistics_prec(&self) -> Statistics<f64>[src]
impl<S, N, D> PreciseStatisticsOps<Complex<f64>> for DspVec<S, f32, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<f32>, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<f32>,
type Result = Statistics<Complex<f64>>
fn statistics_prec(&self) -> Statistics<Complex<f64>>[src]
impl<S, N, D> PreciseStatisticsOps<f64> for DspVec<S, f64, N, D> where
D: Domain,
N: RealNumberSpace,
S: ToSlice<f64>, [src]
D: Domain,
N: RealNumberSpace,
S: ToSlice<f64>,
type Result = Statistics<f64>
fn statistics_prec(&self) -> Statistics<f64>[src]
impl<S, N, D> PreciseStatisticsOps<Complex<f64>> for DspVec<S, f64, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<f64>, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<f64>,
type Result = Statistics<Complex<f64>>
fn statistics_prec(&self) -> Statistics<Complex<f64>>[src]
impl<S, T, N, D, DF, O, NO> CrossCorrelationOps<O, S, T, NO, DF> for DspVec<S, T, N, D> where
D: TimeDomain,
DF: FrequencyDomain,
N: ComplexNumberSpace,
NO: PosEq<N> + NumberSpace,
O: Vector<T> + GetMetaData<T, NO, DF>,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ScaleOps<T>, [src]
D: TimeDomain,
DF: FrequencyDomain,
N: ComplexNumberSpace,
NO: PosEq<N> + NumberSpace,
O: Vector<T> + GetMetaData<T, NO, DF>,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ScaleOps<T>,
fn correlate<B>(&mut self, buffer: &mut B, other: &O) -> Result<(), ErrorReason> where
B: Buffer<'a, S, T>, [src]
B: Buffer<'a, S, T>,
impl<S, T, N, D> CrossCorrelationArgumentOps<S, T> for DspVec<S, T, N, D> where
D: TimeDomain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToFreqResult,
DspVec<S, T, N, D>: TimeToFrequencyDomainOperations<S, T>,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: FrequencyDomainOperations<S, T>,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: ComplexOps<T>, [src]
D: TimeDomain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToFreqResult,
DspVec<S, T, N, D>: TimeToFrequencyDomainOperations<S, T>,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: FrequencyDomainOperations<S, T>,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: ComplexOps<T>,
fn prepare_argument<B>(
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToFreqResult>::FreqResult where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToFreqResult>::FreqResult where
B: Buffer<'a, S, T>,
fn prepare_argument_padded<B>(
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToFreqResult>::FreqResult where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToFreqResult>::FreqResult where
B: Buffer<'a, S, T>,
impl<S, T, N, D, O, NO, DO> ElementaryOps<O, T, NO, DO> for DspVec<S, T, N, D> where
D: Domain,
DO: PosEq<D> + Domain,
N: NumberSpace,
NO: PosEq<N> + NumberSpace,
O: Vector<T> + GetMetaData<T, NO, DO>,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
DO: PosEq<D> + Domain,
N: NumberSpace,
NO: PosEq<N> + NumberSpace,
O: Vector<T> + GetMetaData<T, NO, DO>,
S: ToSliceMut<T>,
T: RealNumber,
fn add(&mut self, summand: &O) -> Result<(), ErrorReason>[src]
fn sub(&mut self, subtrahend: &O) -> Result<(), ErrorReason>[src]
fn mul(&mut self, factor: &O) -> Result<(), ErrorReason>[src]
fn div(&mut self, divisor: &O) -> Result<(), ErrorReason>[src]
impl<S, T, N, D> InterpolationOps<S, T> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T> + ToComplexVector<S, T> + ToDspVector<T>,
T: RealNumber,
DspVec<S, T, N, D>: InsertZerosOpsBuffered<S, T>,
DspVec<S, T, N, D>: ScaleOps<T>,
DspVec<S, T, N, D>: ResizeBufferedOps<S, T>, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T> + ToComplexVector<S, T> + ToDspVector<T>,
T: RealNumber,
DspVec<S, T, N, D>: InsertZerosOpsBuffered<S, T>,
DspVec<S, T, N, D>: ScaleOps<T>,
DspVec<S, T, N, D>: ResizeBufferedOps<S, T>,
fn interpolatef<B>(
&mut self,
buffer: &mut B,
function: &dyn RealImpulseResponse<T>,
interpolation_factor: T,
delay: T,
conv_len: usize
) where
B: Buffer<'a, S, T>, [src]
&mut self,
buffer: &mut B,
function: &dyn RealImpulseResponse<T>,
interpolation_factor: T,
delay: T,
conv_len: usize
) where
B: Buffer<'a, S, T>,
fn interpolatei<B>(
&mut self,
buffer: &mut B,
function: &dyn RealFrequencyResponse<T>,
interpolation_factor: u32
) -> Result<(), ErrorReason> where
B: Buffer<'a, S, T>, [src]
&mut self,
buffer: &mut B,
function: &dyn RealFrequencyResponse<T>,
interpolation_factor: u32
) -> Result<(), ErrorReason> where
B: Buffer<'a, S, T>,
fn interpft<B>(&mut self, buffer: &mut B, dest_points: usize) where
B: Buffer<'a, S, T>, [src]
B: Buffer<'a, S, T>,
fn interpolate<B>(
&mut self,
buffer: &mut B,
function: Option<&dyn RealFrequencyResponse<T>>,
dest_points: usize,
delay: T
) -> Result<(), ErrorReason> where
B: Buffer<'a, S, T>, [src]
&mut self,
buffer: &mut B,
function: Option<&dyn RealFrequencyResponse<T>>,
dest_points: usize,
delay: T
) -> Result<(), ErrorReason> where
B: Buffer<'a, S, T>,
fn decimatei(&mut self, decimation_factor: u32, delay: u32)[src]
impl<S, T, N, D> ResizeBufferedOps<S, T> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
fn resize_b<B>(&mut self, buffer: &mut B, len: usize) -> Result<(), ErrorReason> where
B: Buffer<'a, S, T>, [src]
B: Buffer<'a, S, T>,
impl<S, T, N, D> FrequencyDomainOperations<S, T> for DspVec<S, T, N, D> where
D: FrequencyDomain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToTimeResult,
<DspVec<S, T, N, D> as ToTimeResult>::TimeResult: RededicateForceOps<DspVec<S, T, N, D>>, [src]
D: FrequencyDomain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToTimeResult,
<DspVec<S, T, N, D> as ToTimeResult>::TimeResult: RededicateForceOps<DspVec<S, T, N, D>>,
fn mirror<B>(&mut self, buffer: &mut B) where
B: Buffer<'a, S, T>, [src]
B: Buffer<'a, S, T>,
fn fft_shift(&mut self)[src]
fn ifft_shift(&mut self)[src]
impl<'a, S, T, N, D> FrequencyMultiplication<'a, S, T, &'a (dyn ComplexFrequencyResponse<T> + 'a)> for DspVec<S, T, N, D> where
D: FrequencyDomain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: FrequencyDomain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
fn multiply_frequency_response(
&mut self,
frequency_response: &dyn ComplexFrequencyResponse<T>,
ratio: T
)[src]
&mut self,
frequency_response: &dyn ComplexFrequencyResponse<T>,
ratio: T
)
impl<'a, S, T, N, D> FrequencyMultiplication<'a, S, T, &'a (dyn RealFrequencyResponse<T> + 'a)> for DspVec<S, T, N, D> where
D: FrequencyDomain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: FrequencyDomain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
fn multiply_frequency_response(
&mut self,
frequency_response: &dyn RealFrequencyResponse<T>,
ratio: T
)[src]
&mut self,
frequency_response: &dyn RealFrequencyResponse<T>,
ratio: T
)
impl<S, T> ToTimeResult for DspVec<S, T, RealOrComplex, TimeOrFreq> where
S: ToSlice<T>,
T: RealNumber, [src]
S: ToSlice<T>,
T: RealNumber,
type TimeResult = DspVec<S, T, RealOrComplex, TimeOrFreq>
Specifies what the the result is if a type is transformed to time domain.
impl<S, T> ToTimeResult for DspVec<S, T, Complex, Freq> where
S: ToSlice<T>,
T: RealNumber, [src]
S: ToSlice<T>,
T: RealNumber,
type TimeResult = DspVec<S, T, Complex, Time>
Specifies what the the result is if a type is transformed to time domain.
impl<S, T, N, D> FloatIndexMut<RangeTo<usize>> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, N, D> FloatIndexMut<RangeFull> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, N, D> FloatIndexMut<Range<usize>> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, N, D> FloatIndexMut<usize> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, N, D> FloatIndexMut<RangeFrom<usize>> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, N, D, O> RededicateToOps<O> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
O: Vector<T> + RededicateOps<DspVec<S, T, N, D>>,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
O: Vector<T> + RededicateOps<DspVec<S, T, N, D>>,
S: ToSlice<T>,
T: RealNumber,
fn rededicate(self) -> O[src]
impl<S, T, N, D> FloatIndex<usize> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber,
impl<S, T, N, D> FloatIndex<RangeTo<usize>> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber,
impl<S, T, N, D> FloatIndex<RangeFull> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber,
impl<S, T, N, D> FloatIndex<Range<usize>> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber,
impl<S, T, N, D> FloatIndex<RangeFrom<usize>> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber,
impl<S, T, N, NR, D, O, DO> ComplexToRealGetterOps<O, T, NR, DO> for DspVec<S, T, N, D> where
D: Domain,
DO: PosEq<D> + Domain,
N: ComplexNumberSpace,
NR: RealNumberSpace,
O: Vector<T, Output = [T]> + GetMetaData<T, NR, DO> + FloatIndex<Range<usize>> + FloatIndexMut<Range<usize>>,
S: ToSlice<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToRealResult, [src]
D: Domain,
DO: PosEq<D> + Domain,
N: ComplexNumberSpace,
NR: RealNumberSpace,
O: Vector<T, Output = [T]> + GetMetaData<T, NR, DO> + FloatIndex<Range<usize>> + FloatIndexMut<Range<usize>>,
S: ToSlice<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToRealResult,
fn get_real(&self, destination: &mut O)[src]
fn get_imag(&self, destination: &mut O)[src]
fn get_magnitude(&self, destination: &mut O)[src]
fn get_magnitude_squared(&self, destination: &mut O)[src]
fn get_phase(&self, destination: &mut O)[src]
fn get_real_imag(&self, real: &mut O, imag: &mut O)[src]
fn get_mag_phase(&self, mag: &mut O, phase: &mut O)[src]
impl<S, T, N, D> RededicateForceOps<DspVec<S, T, N, D>> for DspVec<S, T, Complex, Freq> where
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber,
fn rededicate_from_force(
origin: DspVec<S, T, N, D>
) -> DspVec<S, T, Complex, Freq>[src]
origin: DspVec<S, T, N, D>
) -> DspVec<S, T, Complex, Freq>
fn rededicate_with_runtime_data(
origin: DspVec<S, T, N, D>,
bool,
DataDomain
) -> DspVec<S, T, Complex, Freq>[src]
origin: DspVec<S, T, N, D>,
bool,
DataDomain
) -> DspVec<S, T, Complex, Freq>
impl<S, T, N, D> RededicateForceOps<DspVec<S, T, N, D>> for DspVec<S, T, Complex, Time> where
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber,
fn rededicate_from_force(
origin: DspVec<S, T, N, D>
) -> DspVec<S, T, Complex, Time>[src]
origin: DspVec<S, T, N, D>
) -> DspVec<S, T, Complex, Time>
fn rededicate_with_runtime_data(
origin: DspVec<S, T, N, D>,
bool,
DataDomain
) -> DspVec<S, T, Complex, Time>[src]
origin: DspVec<S, T, N, D>,
bool,
DataDomain
) -> DspVec<S, T, Complex, Time>
impl<S, T, N, D> RededicateForceOps<DspVec<S, T, N, D>> for DspVec<S, T, Real, Freq> where
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber,
fn rededicate_from_force(origin: DspVec<S, T, N, D>) -> DspVec<S, T, Real, Freq>[src]
fn rededicate_with_runtime_data(
origin: DspVec<S, T, N, D>,
bool,
DataDomain
) -> DspVec<S, T, Real, Freq>[src]
origin: DspVec<S, T, N, D>,
bool,
DataDomain
) -> DspVec<S, T, Real, Freq>
impl<S, T, N, D> RededicateForceOps<DspVec<S, T, N, D>> for DspVec<S, T, RealOrComplex, TimeOrFreq> where
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber,
fn rededicate_from_force(
origin: DspVec<S, T, N, D>
) -> DspVec<S, T, RealOrComplex, TimeOrFreq>[src]
origin: DspVec<S, T, N, D>
) -> DspVec<S, T, RealOrComplex, TimeOrFreq>
fn rededicate_with_runtime_data(
origin: DspVec<S, T, N, D>,
is_complex: bool,
domain: DataDomain
) -> DspVec<S, T, RealOrComplex, TimeOrFreq>[src]
origin: DspVec<S, T, N, D>,
is_complex: bool,
domain: DataDomain
) -> DspVec<S, T, RealOrComplex, TimeOrFreq>
impl<S, T, N, D> RededicateForceOps<DspVec<S, T, N, D>> for DspVec<S, T, Real, Time> where
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber,
fn rededicate_from_force(origin: DspVec<S, T, N, D>) -> DspVec<S, T, Real, Time>[src]
fn rededicate_with_runtime_data(
origin: DspVec<S, T, N, D>,
bool,
DataDomain
) -> DspVec<S, T, Real, Time>[src]
origin: DspVec<S, T, N, D>,
bool,
DataDomain
) -> DspVec<S, T, Real, Time>
impl<S, T, N, D> ComplexToRealTransformsOpsBuffered<S, T> for DspVec<S, T, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToRealResult,
<DspVec<S, T, N, D> as ToRealResult>::RealResult: RededicateForceOps<DspVec<S, T, N, D>>, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToRealResult,
<DspVec<S, T, N, D> as ToRealResult>::RealResult: RededicateForceOps<DspVec<S, T, N, D>>,
fn magnitude_b<B>(
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToRealResult>::RealResult where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToRealResult>::RealResult where
B: Buffer<'a, S, T>,
fn magnitude_squared_b<B>(
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToRealResult>::RealResult where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToRealResult>::RealResult where
B: Buffer<'a, S, T>,
fn to_real_b<B>(
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToRealResult>::RealResult where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToRealResult>::RealResult where
B: Buffer<'a, S, T>,
fn to_imag_b<B>(
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToRealResult>::RealResult where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToRealResult>::RealResult where
B: Buffer<'a, S, T>,
fn phase_b<B>(
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToRealResult>::RealResult where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToRealResult>::RealResult where
B: Buffer<'a, S, T>,
impl<S, T, N, D> MapInplaceOps<T> for DspVec<S, T, N, D> where
D: Domain,
N: RealNumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: RealNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
fn map_inplace<'a, A, F>(&mut self, argument: A, map: &F) where
A: Sync + Copy + Send,
F: Fn(T, usize, A) -> T + 'a + Sync, [src]
A: Sync + Copy + Send,
F: Fn(T, usize, A) -> T + 'a + Sync,
impl<S, T, N, D> MapInplaceOps<Complex<T>> for DspVec<S, T, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
fn map_inplace<'a, A, F>(&mut self, argument: A, map: &F) where
A: Sync + Copy + Send,
F: Fn(Complex<T>, usize, A) -> Complex<T> + 'a + Sync, [src]
A: Sync + Copy + Send,
F: Fn(Complex<T>, usize, A) -> Complex<T> + 'a + Sync,
impl<S, T, N, D> ComplexToRealTransformsOps<T> for DspVec<S, T, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToRealResult,
<DspVec<S, T, N, D> as ToRealResult>::RealResult: RededicateForceOps<DspVec<S, T, N, D>>, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToRealResult,
<DspVec<S, T, N, D> as ToRealResult>::RealResult: RededicateForceOps<DspVec<S, T, N, D>>,
fn magnitude(self) -> <DspVec<S, T, N, D> as ToRealResult>::RealResult[src]
fn magnitude_squared(self) -> <DspVec<S, T, N, D> as ToRealResult>::RealResult[src]
fn to_real(self) -> <DspVec<S, T, N, D> as ToRealResult>::RealResult[src]
fn to_imag(self) -> <DspVec<S, T, N, D> as ToRealResult>::RealResult[src]
fn phase(self) -> <DspVec<S, T, N, D> as ToRealResult>::RealResult[src]
impl<S, T> From<S> for DspVec<S, T, Complex, Time> where
S: ToSlice<T>,
T: RealNumber, [src]
S: ToSlice<T>,
T: RealNumber,
impl<S, T> From<S> for DspVec<S, T, Real, Time> where
S: ToSlice<T>,
T: RealNumber, [src]
S: ToSlice<T>,
T: RealNumber,
impl<S, T> From<S> for DspVec<S, T, Complex, Freq> where
S: ToSlice<T>,
T: RealNumber, [src]
S: ToSlice<T>,
T: RealNumber,
impl<S, T> From<S> for DspVec<S, T, Real, Freq> where
S: ToSlice<T>,
T: RealNumber, [src]
S: ToSlice<T>,
T: RealNumber,
impl<S, T, N, D> FrequencyToTimeDomainOperations<S, T> for DspVec<S, T, N, D> where
D: FrequencyDomain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToTimeResult,
<DspVec<S, T, N, D> as ToTimeResult>::TimeResult: RededicateForceOps<DspVec<S, T, N, D>>,
<DspVec<S, T, N, D> as ToTimeResult>::TimeResult: TimeDomainOperations<S, T>, [src]
D: FrequencyDomain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToTimeResult,
<DspVec<S, T, N, D> as ToTimeResult>::TimeResult: RededicateForceOps<DspVec<S, T, N, D>>,
<DspVec<S, T, N, D> as ToTimeResult>::TimeResult: TimeDomainOperations<S, T>,
fn plain_ifft<B>(
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToTimeResult>::TimeResult where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToTimeResult>::TimeResult where
B: Buffer<'a, S, T>,
fn ifft<B>(
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToTimeResult>::TimeResult where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToTimeResult>::TimeResult where
B: Buffer<'a, S, T>,
fn windowed_ifft<B>(
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> <DspVec<S, T, N, D> as ToTimeResult>::TimeResult where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> <DspVec<S, T, N, D> as ToTimeResult>::TimeResult where
B: Buffer<'a, S, T>,
impl<S, T, N, D> RealOps for DspVec<S, T, N, D> where
D: Domain,
N: RealNumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: RealNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, N, D> SumOps<Complex<T>> for DspVec<S, T, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<T>,
T: RealNumber,
impl<S, T, N, D> SumOps<T> for DspVec<S, T, N, D> where
D: Domain,
N: RealNumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: RealNumberSpace,
S: ToSlice<T>,
T: RealNumber,
impl<S, T, N, D> StatisticsSplitOps<T> for DspVec<S, T, N, D> where
D: Domain,
N: RealNumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: RealNumberSpace,
S: ToSlice<T>,
T: RealNumber,
type Result = ArrayVec<[Statistics<T>; 16]>
fn statistics_split(
&self,
len: usize
) -> Result<ArrayVec<[Statistics<T>; 16]>, ErrorReason>[src]
&self,
len: usize
) -> Result<ArrayVec<[Statistics<T>; 16]>, ErrorReason>
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]
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<T>,
T: RealNumber,
type Result = ArrayVec<[Statistics<Complex<T>>; 16]>
fn statistics_split(
&self,
len: usize
) -> Result<ArrayVec<[Statistics<Complex<T>>; 16]>, ErrorReason>[src]
&self,
len: usize
) -> Result<ArrayVec<[Statistics<Complex<T>>; 16]>, ErrorReason>
impl<S, T, N, D> StatisticsOps<Complex<T>> for DspVec<S, T, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSlice<T>,
T: RealNumber,
type Result = Statistics<Complex<T>>
fn statistics(&self) -> Statistics<Complex<T>>[src]
impl<S, T, N, D> StatisticsOps<T> for DspVec<S, T, N, D> where
D: Domain,
N: RealNumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: RealNumberSpace,
S: ToSlice<T>,
T: RealNumber,
type Result = Statistics<T>
fn statistics(&self) -> Statistics<T>[src]
impl<S, T, N, D> MergeOps for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, N, D> OffsetOps<T> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, N, D> OffsetOps<Complex<T>> for DspVec<S, T, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, N, D> Clone for DspVec<S, T, N, D> where
D: Domain + Clone,
N: NumberSpace + Clone,
S: ToSlice<T> + Clone,
T: RealNumber, [src]
D: Domain + Clone,
N: NumberSpace + Clone,
S: ToSlice<T> + Clone,
T: RealNumber,
fn clone(&self) -> DspVec<S, T, N, D>[src]
fn clone_from(&mut self, source: &DspVec<S, T, N, D>)[src]
impl<S, T, N, D> RealToComplexTransformsOpsBuffered<S, T> for DspVec<S, T, N, D> where
D: Domain,
N: RealNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToComplexResult,
DspVec<S, T, N, D>: InsertZerosOpsBuffered<S, T>,
<DspVec<S, T, N, D> as ToComplexResult>::ComplexResult: RededicateForceOps<DspVec<S, T, N, D>>, [src]
D: Domain,
N: RealNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToComplexResult,
DspVec<S, T, N, D>: InsertZerosOpsBuffered<S, T>,
<DspVec<S, T, N, D> as ToComplexResult>::ComplexResult: RededicateForceOps<DspVec<S, T, N, D>>,
fn to_complex_b<B>(
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToComplexResult>::ComplexResult where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToComplexResult>::ComplexResult where
B: Buffer<'a, S, T>,
impl<S, T, N, D> ResizeOps for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber,
impl<S, T, N, D> MetaData for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber,
fn domain(&self) -> DataDomain[src]
fn is_complex(&self) -> bool[src]
impl<S, T> ToRealTimeResult for DspVec<S, T, Complex, Freq> where
S: ToSlice<T>,
T: RealNumber, [src]
S: ToSlice<T>,
T: RealNumber,
type RealTimeResult = DspVec<S, T, Real, Time>
impl<S, T> ToRealTimeResult for DspVec<S, T, RealOrComplex, TimeOrFreq> where
S: ToSlice<T>,
T: RealNumber, [src]
S: ToSlice<T>,
T: RealNumber,
type RealTimeResult = DspVec<S, T, RealOrComplex, TimeOrFreq>
impl<S, SO, T, N, D, NO, DO> ConvolutionOps<DspVec<SO, T, NO, DO>, S, T, NO, DO> for DspVec<S, T, N, D> where
D: TimeDomain,
DO: TimeDomain,
N: NumberSpace,
NO: PosEq<N> + NumberSpace,
S: ToSliceMut<T>,
SO: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: TimeToFrequencyDomainOperations<S, T>,
DspVec<S, T, N, D>: Clone,
DspVec<SO, T, N, D>: TimeToFrequencyDomainOperations<SO, T>,
DspVec<SO, T, N, D>: Clone, [src]
D: TimeDomain,
DO: TimeDomain,
N: NumberSpace,
NO: PosEq<N> + NumberSpace,
S: ToSliceMut<T>,
SO: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: TimeToFrequencyDomainOperations<S, T>,
DspVec<S, T, N, D>: Clone,
DspVec<SO, T, N, D>: TimeToFrequencyDomainOperations<SO, T>,
DspVec<SO, T, N, D>: Clone,
fn convolve_signal<B>(
&mut self,
buffer: &mut B,
impulse_response: &DspVec<SO, T, NO, DO>
) -> Result<(), ErrorReason> where
B: Buffer<'a, S, T>, [src]
&mut self,
buffer: &mut B,
impulse_response: &DspVec<SO, T, NO, DO>
) -> Result<(), ErrorReason> where
B: Buffer<'a, S, T>,
impl<S, T, N, D> TrigOps for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
fn sin(&mut self)[src]
fn cos(&mut self)[src]
fn tan(&mut self)[src]
fn asin(&mut self)[src]
fn acos(&mut self)[src]
fn atan(&mut self)[src]
fn sinh(&mut self)[src]
fn cosh(&mut self)[src]
fn tanh(&mut self)[src]
fn asinh(&mut self)[src]
fn acosh(&mut self)[src]
fn atanh(&mut self)[src]
impl<S, T> ToComplexResult for DspVec<S, T, RealOrComplex, TimeOrFreq> where
S: ToSlice<T>,
T: RealNumber, [src]
S: ToSlice<T>,
T: RealNumber,
type ComplexResult = DspVec<S, T, RealOrComplex, TimeOrFreq>
impl<S, T> ToComplexResult for DspVec<S, T, Real, Time> where
S: ToSlice<T>,
T: RealNumber, [src]
S: ToSlice<T>,
T: RealNumber,
type ComplexResult = DspVec<S, T, Complex, Time>
impl<S, T> ToComplexResult for DspVec<S, T, Real, Freq> where
S: ToSlice<T>,
T: RealNumber, [src]
S: ToSlice<T>,
T: RealNumber,
type ComplexResult = DspVec<S, T, Complex, Freq>
impl<S, T, D> IndexMut<Range<usize>> for DspVec<S, T, Real, D> where
D: Domain,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, D> IndexMut<RangeTo<usize>> for DspVec<S, T, Real, D> where
D: Domain,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, D> IndexMut<RangeFull> for DspVec<S, T, Real, D> where
D: Domain,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, D> IndexMut<RangeFull> for DspVec<S, T, Complex, D> where
D: Domain,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, D> IndexMut<Range<usize>> for DspVec<S, T, Complex, D> where
D: Domain,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, D> IndexMut<usize> for DspVec<S, T, Complex, D> where
D: Domain,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, D> IndexMut<RangeFrom<usize>> for DspVec<S, T, Real, D> where
D: Domain,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, D> IndexMut<RangeTo<usize>> for DspVec<S, T, Complex, D> where
D: Domain,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, D> IndexMut<RangeFrom<usize>> for DspVec<S, T, Complex, D> where
D: Domain,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, D> IndexMut<usize> for DspVec<S, T, Real, D> where
D: Domain,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, N, D> TimeToFrequencyDomainOperations<S, T> for DspVec<S, T, N, D> where
D: TimeDomain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToFreqResult,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: RededicateForceOps<DspVec<S, T, N, D>>,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: FrequencyDomainOperations<S, T>, [src]
D: TimeDomain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToFreqResult,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: RededicateForceOps<DspVec<S, T, N, D>>,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: FrequencyDomainOperations<S, T>,
fn plain_fft<B>(
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToFreqResult>::FreqResult where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToFreqResult>::FreqResult where
B: Buffer<'a, S, T>,
fn fft<B>(
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToFreqResult>::FreqResult where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToFreqResult>::FreqResult where
B: Buffer<'a, S, T>,
fn windowed_fft<B>(
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> <DspVec<S, T, N, D> as ToFreqResult>::FreqResult where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> <DspVec<S, T, N, D> as ToFreqResult>::FreqResult where
B: Buffer<'a, S, T>,
impl<S, T, N, D, O> RededicateOps<O> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
O: Vector<T>,
S: ToSlice<T>,
T: RealNumber,
DspVec<S, T, N, D>: RededicateForceOps<O>, [src]
D: Domain,
N: NumberSpace,
O: Vector<T>,
S: ToSlice<T>,
T: RealNumber,
DspVec<S, T, N, D>: RededicateForceOps<O>,
fn rededicate_from(origin: O) -> DspVec<S, T, N, D>[src]
impl<S, T, N, D> ComplexOps<T> for DspVec<S, T, N, D> where
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
fn multiply_complex_exponential(&mut self, a: T, b: T)[src]
fn conj(&mut self)[src]
impl<S, T, N, D> DiffSumOps for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
impl<S, T, N, D> SymmetricFrequencyToTimeDomainOperations<S, T> for DspVec<S, T, N, D> where
D: FrequencyDomain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToRealTimeResult,
DspVec<S, T, N, D>: ToTimeResult,
DspVec<S, T, N, D>: FrequencyDomainOperations<S, T>,
<DspVec<S, T, N, D> as ToRealTimeResult>::RealTimeResult: RededicateForceOps<DspVec<S, T, N, D>>,
<DspVec<S, T, N, D> as ToRealTimeResult>::RealTimeResult: TimeDomainOperations<S, T>, [src]
D: FrequencyDomain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToRealTimeResult,
DspVec<S, T, N, D>: ToTimeResult,
DspVec<S, T, N, D>: FrequencyDomainOperations<S, T>,
<DspVec<S, T, N, D> as ToRealTimeResult>::RealTimeResult: RededicateForceOps<DspVec<S, T, N, D>>,
<DspVec<S, T, N, D> as ToRealTimeResult>::RealTimeResult: TimeDomainOperations<S, T>,
fn plain_sifft<B>(
self,
buffer: &mut B
) -> Result<<DspVec<S, T, N, D> as ToRealTimeResult>::RealTimeResult, (ErrorReason, <DspVec<S, T, N, D> as ToRealTimeResult>::RealTimeResult)> where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B
) -> Result<<DspVec<S, T, N, D> as ToRealTimeResult>::RealTimeResult, (ErrorReason, <DspVec<S, T, N, D> as ToRealTimeResult>::RealTimeResult)> where
B: Buffer<'a, S, T>,
fn sifft<B>(
self,
buffer: &mut B
) -> Result<<DspVec<S, T, N, D> as ToRealTimeResult>::RealTimeResult, (ErrorReason, <DspVec<S, T, N, D> as ToRealTimeResult>::RealTimeResult)> where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B
) -> Result<<DspVec<S, T, N, D> as ToRealTimeResult>::RealTimeResult, (ErrorReason, <DspVec<S, T, N, D> as ToRealTimeResult>::RealTimeResult)> where
B: Buffer<'a, S, T>,
fn windowed_sifft<B>(
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> Result<<DspVec<S, T, N, D> as ToRealTimeResult>::RealTimeResult, (ErrorReason, <DspVec<S, T, N, D> as ToRealTimeResult>::RealTimeResult)> where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> Result<<DspVec<S, T, N, D> as ToRealTimeResult>::RealTimeResult, (ErrorReason, <DspVec<S, T, N, D> as ToRealTimeResult>::RealTimeResult)> where
B: Buffer<'a, S, T>,
impl<'a, T, D> FromVector<T> for DspVec<&'a mut [T], T, Complex, D> where
D: Domain,
T: RealNumber, [src]
D: Domain,
T: RealNumber,
type Output = &'a mut [Complex<T>]
Type of the underlying storage of a vector.
fn get(
self
) -> (<DspVec<&'a mut [T], T, Complex, D> as FromVector<T>>::Output, usize)[src]
self
) -> (<DspVec<&'a mut [T], T, Complex, D> as FromVector<T>>::Output, usize)
impl<T, D> FromVector<T> for DspVec<Vec<T>, T, Complex, D> where
D: Domain,
T: RealNumber, [src]
D: Domain,
T: RealNumber,
type Output = Vec<Complex<T>>
Type of the underlying storage of a vector.
fn get(
self
) -> (<DspVec<Vec<T>, T, Complex, D> as FromVector<T>>::Output, usize)[src]
self
) -> (<DspVec<Vec<T>, T, Complex, D> as FromVector<T>>::Output, usize)
impl<'a, T, D> FromVector<T> for DspVec<&'a [T], T, Complex, D> where
D: Domain,
T: RealNumber, [src]
D: Domain,
T: RealNumber,
type Output = &'a [Complex<T>]
Type of the underlying storage of a vector.
fn get(
self
) -> (<DspVec<&'a [T], T, Complex, D> as FromVector<T>>::Output, usize)[src]
self
) -> (<DspVec<&'a [T], T, Complex, D> as FromVector<T>>::Output, usize)
impl<S, T, D> FromVector<T> for DspVec<S, T, Real, D> where
D: Domain,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
S: ToSlice<T>,
T: RealNumber,
type Output = S
Type of the underlying storage of a vector.
fn get(self) -> (<DspVec<S, T, Real, D> as FromVector<T>>::Output, usize)[src]
impl<S, T, N, D, O, NO, DO> ElementaryWrapAroundOps<O, T, NO, DO> for DspVec<S, T, N, D> where
D: Domain,
DO: PosEq<D> + Domain,
N: NumberSpace,
NO: PosEq<N> + NumberSpace,
O: Vector<T> + GetMetaData<T, NO, DO>,
S: ToSliceMut<T>,
T: RealNumber, [src]
D: Domain,
DO: PosEq<D> + Domain,
N: NumberSpace,
NO: PosEq<N> + NumberSpace,
O: Vector<T> + GetMetaData<T, NO, DO>,
S: ToSliceMut<T>,
T: RealNumber,
fn add_smaller(&mut self, summand: &O) -> Result<(), ErrorReason>[src]
fn sub_smaller(&mut self, subtrahend: &O) -> Result<(), ErrorReason>[src]
fn mul_smaller(&mut self, factor: &O) -> Result<(), ErrorReason>[src]
fn div_smaller(&mut self, divisor: &O) -> Result<(), ErrorReason>[src]
impl<S, T, N, D> GetMetaData<T, N, D> for DspVec<S, T, N, D> where
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber, [src]
D: Domain,
N: NumberSpace,
S: ToSlice<T>,
T: RealNumber,
fn get_meta_data(&self) -> TypeMetaData<T, N, D>[src]
Auto Trait Implementations
impl<S, T, N, D> Send for DspVec<S, T, N, D> where
D: Send,
N: Send,
S: Send,
D: Send,
N: Send,
S: Send,
impl<S, T, N, D> Sync for DspVec<S, T, N, D> where
D: Sync,
N: Sync,
S: Sync,
D: Sync,
N: Sync,
S: Sync,
Blanket Implementations
impl<T, U> Into for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
impl<T> From for T[src]
impl<T, U> TryFrom for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T> Borrow for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T, U> TryInto for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,