Trait basic_dsp::DiffSumOps
source · [−]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
sourcefn diff(&mut self)
fn diff(&mut self)
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[..]);
sourcefn diff_with_start(&mut self)
fn diff_with_start(&mut self)
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[..]);