diff --git a/src/lib.rs b/src/lib.rs index 1fec39558013b066fac25dd8673354e4331d0aed..d2812da307025ec768b3b233750cbd41d6d82353 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);