[−][src]Trait basic_dsp::ReorganizeDataOps
This trait allows to reorganize the data by changing positions of the individual elements.
Required methods
pub fn reverse(&mut self)[src]
Reverses the data inside the vector.
Example
use basic_dsp_vector::*; let mut vector = vec!(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0).to_real_time_vec(); vector.reverse(); assert_eq!([8.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0], vector[..]);
pub fn swap_halves(&mut self)[src]
This function swaps both halves of the vector. This operation is also called FFT shift
Use it after a plain_fft to get a spectrum which is centered at 0 Hz.
swap_halvesb requires a buffer but performs faster.
Example
use basic_dsp_vector::*; let mut vector = vec!(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0).to_real_time_vec(); vector.swap_halves(); assert_eq!([5.0, 6.0, 7.0, 8.0, 1.0, 2.0, 3.0, 4.0], vector[..]);
Implementors
impl<S, T, N, D> ReorganizeDataOps<T> for DspVec<S, T, N, D> where
N: NumberSpace,
T: RealNumber,
S: ToSliceMut<T>,
D: Domain, [src]
N: NumberSpace,
T: RealNumber,
S: ToSliceMut<T>,
D: Domain,
pub fn reverse(&mut self)[src]
pub fn swap_halves(&mut self)[src]
impl<V, S, T> ReorganizeDataOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
S: ToSlice<T>,
V: Vector<T> + ReorganizeDataOps<T>, [src]
T: RealNumber,
S: ToSlice<T>,
V: Vector<T> + ReorganizeDataOps<T>,
pub fn reverse(&mut self)[src]
pub fn swap_halves(&mut self)[src]
impl<V, S, T> ReorganizeDataOps<T> for Matrix3xN<V, S, T> where
T: RealNumber,
S: ToSlice<T>,
V: Vector<T> + ReorganizeDataOps<T>, [src]
T: RealNumber,
S: ToSlice<T>,
V: Vector<T> + ReorganizeDataOps<T>,
pub fn reverse(&mut self)[src]
pub fn swap_halves(&mut self)[src]
impl<V, S, T> ReorganizeDataOps<T> for Matrix4xN<V, S, T> where
T: RealNumber,
S: ToSlice<T>,
V: Vector<T> + ReorganizeDataOps<T>, [src]
T: RealNumber,
S: ToSlice<T>,
V: Vector<T> + ReorganizeDataOps<T>,
pub fn reverse(&mut self)[src]
pub fn swap_halves(&mut self)[src]
impl<V, S, T> ReorganizeDataOps<T> for MatrixMxN<V, S, T> where
T: RealNumber,
S: ToSlice<T>,
V: Vector<T> + ReorganizeDataOps<T>, [src]
T: RealNumber,
S: ToSlice<T>,
V: Vector<T> + ReorganizeDataOps<T>,