comparison tests/TestFilter.cpp @ 417:fa851e147e3f

Faster filter implementation with explicit FIR support
author Chris Cannam <c.cannam@qmul.ac.uk>
date Wed, 07 Oct 2015 10:36:09 +0100
parents 1f3244a6884c
children 2de6184b2ce0
comparison
equal deleted inserted replaced
416:1f3244a6884c 417:fa851e147e3f
26 { 26 {
27 vector<double> a(iir_a); 27 vector<double> a(iir_a);
28 vector<double> b(iir_b); 28 vector<double> b(iir_b);
29 vector<double> expected(iir_expected); 29 vector<double> expected(iir_expected);
30 30
31 FilterConfig config { a.size()-1, a.data(), b.data() }; 31 Filter f({ a, b });
32 Filter f(config);
33 32
34 int n = expected.size(); 33 int n = expected.size();
35 vector<double> out(n, 0.0); 34 vector<double> out(n, 0.0);
36 35
37 f.process(in.data(), out.data(), n); 36 f.process(in.data(), out.data(), n);
47 { 46 {
48 vector<double> a(iir_a); 47 vector<double> a(iir_a);
49 vector<double> b(iir_b); 48 vector<double> b(iir_b);
50 vector<double> expected(iir_expected); 49 vector<double> expected(iir_expected);
51 50
52 FilterConfig config { a.size()-1, a.data(), b.data() }; 51 Filter f({ a, b });
53 Filter f(config);
54 52
55 int n = expected.size(); 53 int n = expected.size();
56 vector<double> out(n, 0.0); 54 vector<double> out(n, 0.0);
57 55
58 int j = 0; 56 int j = 0;
75 } 73 }
76 } 74 }
77 75
78 BOOST_AUTO_TEST_CASE(fir) 76 BOOST_AUTO_TEST_CASE(fir)
79 { 77 {
80 vector<double> a(fir_b.size(), 0.0); //!!!
81 vector<double> b(fir_b); 78 vector<double> b(fir_b);
82 vector<double> expected(fir_expected); 79 vector<double> expected(fir_expected);
83 80
84 FilterConfig config { b.size()-1, a.data(), b.data() }; 81 Filter f({ {}, b });
85 Filter f(config);
86 82
87 int n = expected.size(); 83 int n = expected.size();
88 vector<double> out(n, 0.0); 84 vector<double> out(n, 0.0);
89 85
90 f.process(in.data(), out.data(), n); 86 f.process(in.data(), out.data(), n);