Trait basic_dsp_vector::DiffSumOps [−][src]
pub trait DiffSumOps {
fn diff(&mut self);
fn diff_with_start(&mut self);
fn cum_sum(&mut self);
}Expand description
A trait to calculate the diff (1st derivative in a discrete number space) or cumulative sum (integral in a discrete number space).
Required methods
Calculates the delta of each elements to its previous element. This will decrease the vector length by one point.
Example
Example
use basic_dsp_vector::*; let mut vector = vec!(2.0, 3.0, 2.0, 6.0).to_real_time_vec(); vector.diff(); assert_eq!([1.0, -1.0, 4.0], vector[..]); let mut vector = vec!(Complex::new(2.0, 2.0), Complex::new(3.0, 3.0), Complex::new(5.0, 5.0)).to_complex_time_vec(); vector.diff(); assert_eq!([Complex::new(1.0, 1.0), Complex::new(2.0, 2.0)], vector[..]);
fn diff_with_start(&mut self)[src]
fn diff_with_start(&mut self)[src]Calculates the delta of each elements to its previous element. The first element will remain unchanged.
Example
use basic_dsp_vector::*; let mut vector = vec!(2.0, 3.0, 2.0, 6.0).to_real_time_vec(); vector.diff_with_start(); assert_eq!([2.0, 1.0, -1.0, 4.0], vector[..]); let mut vector = vec!(Complex::new(2.0, 2.0), Complex::new(3.0, 3.0), Complex::new(5.0, 5.0)).to_complex_time_vec(); vector.diff_with_start(); assert_eq!([Complex::new(2.0, 2.0), Complex::new(1.0, 1.0), Complex::new(2.0, 2.0)], vector[..]);
Implementors
impl<S, T, N, D> DiffSumOps for DspVec<S, T, N, D> where
S: ToSliceMut<T>,
T: RealNumber,
N: NumberSpace,
D: Domain, [src]
impl<S, T, N, D> DiffSumOps for DspVec<S, T, N, D> where
S: ToSliceMut<T>,
T: RealNumber,
N: NumberSpace,
D: Domain, [src]