Trait basic_dsp::ToDspVector

source ·
pub trait ToDspVector<T>: Sized + ToSlice<T>
where T: RealNumber,
{ // Required methods fn to_gen_dsp_vec( self, is_complex: bool, domain: DataDomain ) -> DspVec<Self, T, RealOrComplex, TimeOrFreq>; fn to_dsp_vec<N, D>( self, meta_data: &TypeMetaData<T, N, D> ) -> DspVec<Self, T, N, D> where N: NumberSpace, D: Domain; }
Expand description

Conversion from a generic data type into a dsp vector which tracks its meta information (domain and number space) only at runtime. See ToRealVector and ToComplexVector for alternatives which track most of the meta data with the type system and therefore avoid runtime errors.

Required Methods§

source

fn to_gen_dsp_vec( self, is_complex: bool, domain: DataDomain ) -> DspVec<Self, T, RealOrComplex, TimeOrFreq>

Create a new generic vector. delta can be changed after construction with a call of set_delta.

For complex vectors with an odd length the resulting value will have a zero length.

source

fn to_dsp_vec<N, D>( self, meta_data: &TypeMetaData<T, N, D> ) -> DspVec<Self, T, N, D>
where N: NumberSpace, D: Domain,

Create a new vector from the given meta data. The meta data can be retrieved from an existing vector. If no existing vector is available then one of the other constructor methods should be used.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'a, T> ToDspVector<T> for &'a [T]
where T: RealNumber,

source§

fn to_gen_dsp_vec( self, is_complex: bool, domain: DataDomain ) -> DspVec<&'a [T], T, RealOrComplex, TimeOrFreq>

source§

fn to_dsp_vec<N, D>( self, meta_data: &TypeMetaData<T, N, D> ) -> DspVec<&'a [T], T, N, D>
where N: NumberSpace, D: Domain,

source§

impl<'a, T> ToDspVector<T> for &'a mut [T]
where T: RealNumber,

source§

fn to_gen_dsp_vec( self, is_complex: bool, domain: DataDomain ) -> DspVec<&'a mut [T], T, RealOrComplex, TimeOrFreq>

source§

fn to_dsp_vec<N, D>( self, meta_data: &TypeMetaData<T, N, D> ) -> DspVec<&'a mut [T], T, N, D>
where N: NumberSpace, D: Domain,

source§

impl<A, const CAP: usize> ToDspVector<A> for ArrayVec<A, CAP>
where A: RealNumber,

source§

fn to_gen_dsp_vec( self, is_complex: bool, domain: DataDomain ) -> DspVec<ArrayVec<A, CAP>, A, RealOrComplex, TimeOrFreq>

source§

fn to_dsp_vec<N, D>( self, meta_data: &TypeMetaData<A, N, D> ) -> DspVec<ArrayVec<A, CAP>, A, N, D>
where N: NumberSpace, D: Domain,

source§

impl<T> ToDspVector<T> for Box<[T]>
where T: RealNumber,

source§

fn to_gen_dsp_vec( self, is_complex: bool, domain: DataDomain ) -> DspVec<Box<[T]>, T, RealOrComplex, TimeOrFreq>

source§

fn to_dsp_vec<N, D>( self, meta_data: &TypeMetaData<T, N, D> ) -> DspVec<Box<[T]>, T, N, D>
where N: NumberSpace, D: Domain,

source§

impl<T> ToDspVector<T> for Vec<T>
where T: RealNumber,

source§

fn to_gen_dsp_vec( self, is_complex: bool, domain: DataDomain ) -> DspVec<Vec<T>, T, RealOrComplex, TimeOrFreq>

source§

fn to_dsp_vec<N, D>( self, meta_data: &TypeMetaData<T, N, D> ) -> DspVec<Vec<T>, T, N, D>
where N: NumberSpace, D: Domain,

Implementors§