[−][src]Trait basic_dsp_vector::ComplexToRealTransformsOps
Defines transformations from complex to real number space.
Failures
All operations in this trait set self.len()
to 0
if the type isn't in
the complex number space.
Required methods
fn magnitude(self) -> Self::RealResult
Gets the absolute value, magnitude or norm of all vector elements.
Example
use basic_dsp_vector::*; let vector = vec!(3.0, -4.0, -3.0, 4.0).to_complex_time_vec(); let result = vector.magnitude(); assert_eq!([5.0, 5.0], result[0..]);
fn magnitude_squared(self) -> Self::RealResult
Gets the square root of the absolute value of all vector elements.
Example
use basic_dsp_vector::*; let vector = vec!(3.0, -4.0, -3.0, 4.0).to_complex_time_vec(); let result = vector.magnitude_squared(); assert_eq!([25.0, 25.0], result[0..]);
fn to_real(self) -> Self::RealResult
Gets all real elements.
Example
use basic_dsp_vector::*; let vector = vec!(1.0, 2.0, 3.0, 4.0).to_complex_time_vec(); let result = vector.to_real(); assert_eq!([1.0, 3.0], result[0..]);
fn to_imag(self) -> Self::RealResult
Gets all imag elements.
Example
use basic_dsp_vector::*; let vector = vec!(1.0, 2.0, 3.0, 4.0).to_complex_time_vec(); let result = vector.to_imag(); assert_eq!([2.0, 4.0], result[0..]);
fn phase(self) -> Self::RealResult
Gets the phase of all elements in [rad].
Example
use basic_dsp_vector::*; let data: Vec<f32> = vec!(1.0, 0.0, 0.0, 4.0, -2.0, 0.0, 0.0, -3.0, 1.0, 1.0); let vector = data.to_complex_time_vec(); let result = vector.phase(); assert_eq!([0.0, 1.5707964, 3.1415927, -1.5707964, 0.7853982], result[0..]);
Implementors
impl<S, T, N, D> ComplexToRealTransformsOps<T> for DspVec<S, T, N, D> where
DspVec<S, T, N, D>: ToRealResult,
<DspVec<S, T, N, D> as ToRealResult>::RealResult: RededicateForceOps<DspVec<S, T, N, D>>,
S: ToSliceMut<T>,
T: RealNumber,
N: ComplexNumberSpace,
D: Domain,
[src]
impl<S, T, N, D> ComplexToRealTransformsOps<T> for DspVec<S, T, N, D> where
DspVec<S, T, N, D>: ToRealResult,
<DspVec<S, T, N, D> as ToRealResult>::RealResult: RededicateForceOps<DspVec<S, T, N, D>>,
S: ToSliceMut<T>,
T: RealNumber,
N: ComplexNumberSpace,
D: Domain,
fn magnitude(self) -> Self::RealResult | [src] |
fn magnitude_squared(self) -> Self::RealResult | [src] |
fn to_real(self) -> Self::RealResult | [src] |
fn to_imag(self) -> Self::RealResult | [src] |
fn phase(self) -> Self::RealResult | [src] |