#include "IIRUpsampler.h" #include "IIRDecimator.h" #include "asserts.h" static void setup(IIRUpsampler& up, IIRDecimator& dec) { // float cutoff = .25 / 16; up.setup(16); dec.setup(16); } // test that the functions can be called static void test0() { float buffer[16]; IIRUpsampler up; IIRDecimator dec; setup(up, dec); up.process(buffer, 0); dec.process(buffer); } // test 0 -> 0 static void test1() { float buffer[16]; IIRUpsampler up; IIRDecimator dec; setup(up, dec); up.process(buffer, 0); const float x = dec.process(buffer); assertEQ(x, 0); } // test 10 -> 10 static void test2() { float buffer[16]; IIRUpsampler up; IIRDecimator dec; setup(up, dec); float x; for (int i = 0; i < 100; ++i) { up.process(buffer, 10); x = dec.process(buffer); } assertClose(x, 10, .001); } void testRateConversion() { test0(); test1(); test2(); }