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