From c86e0daf9c8469a5d523fa1d553961c4e0f3293c Mon Sep 17 00:00:00 2001 From: Matt McPherrin <git@mcpherrin.ca> Date: Fri, 31 Jul 2015 15:15:10 -0700 Subject: [PATCH] Add a mag method, for doing one shot magnitude calculation --- src/lib.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index 1fec395..d2812da 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -37,6 +37,10 @@ impl Parameters { pub fn start(self) -> Partial { Partial{ params: self, count: 0, prev: 0., prevprev: 0. } } + + pub fn mag(self, samples: &[i16]) -> f32 { + self.start().add(samples).finish_mag() + } } impl Partial { @@ -84,7 +88,7 @@ fn sine() { let mag = p.start().add(&buf[..]).finish_mag(); for testfreq in (0 .. 30).map(|x| (x * 100) as f32) { let p = Parameters::new(testfreq, 8000, 8000); - let testmag = p.start().add(&buf[..]).finish_mag(); + let testmag = p.mag(&buf[..]); println!("{:4}: {:12.3}", testfreq, testmag); if (freq-testfreq).abs() > 100. { println!("{} > 10*{}", mag, testmag); -- GitLab