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