From f56b7a67e2f3316e16425a1ddc848c137a8d642a Mon Sep 17 00:00:00 2001 From: Stephen D <webmaster@scd31.com> Date: Mon, 31 Jan 2022 18:25:08 -0400 Subject: [PATCH] replace i16 with f32 --- src/lib.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 8277a57..1c4486e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -46,15 +46,15 @@ impl Parameters { } } - pub fn mag(self, samples: &[i16]) -> f32 { + pub fn mag(self, samples: &[f32]) -> f32 { self.start().add_samples(samples).finish_mag() } } impl Partial { - pub fn add_samples(mut self, samples: &[i16]) -> Self { + pub fn add_samples(mut self, samples: &[f32]) -> Self { for &sample in samples { - let this = self.params.term_coefficient * self.prev - self.prevprev + (sample as f32); + let this = self.params.term_coefficient * self.prev - self.prevprev + sample; self.prevprev = self.prev; self.prev = this; } @@ -77,11 +77,11 @@ impl Partial { #[test] fn zero_data() { let p = Parameters::new(1800., 8000, 256); - assert!(p.start().add_samples(&[0; 256]).finish_mag() == 0.); + assert!(p.start().add_samples(&[0.0; 256]).finish_mag() == 0.); assert!( p.start() - .add_samples(&[0; 128]) - .add_samples(&[0; 128]) + .add_samples(&[0.0; 128]) + .add_samples(&[0.0; 128]) .finish_mag() == 0. ); @@ -89,13 +89,13 @@ fn zero_data() { #[test] fn sine() { - let mut buf = [0; 8000]; + let mut buf = [0.0; 8000]; for &freq in [697., 1200., 1800., 1633.].iter() { // Generate a 1 second sine wave at freq hz let step = 1. / 8000.; for (i, v) in buf.iter_mut().enumerate() { let time = i as f32 * step; - *v = ((time * freq * PI * 2.).sin() * std::i16::MAX as f32) as i16; + *v = (time * freq * PI * 2.).sin(); } let p = Parameters::new(freq, 8000, 8000); -- GitLab