Mercurial > hg > qm-dsp
comparison tests/TestFiltFilt.cpp @ 507:d7b9691817a3
Fix a further overrun that caused the wrong input to be provided to sub-filters!
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Wed, 05 Jun 2019 16:02:20 +0100 |
parents | 285f18c0992a |
children |
comparison
equal
deleted
inserted
replaced
506:285f18c0992a | 507:d7b9691817a3 |
---|---|
64 { | 64 { |
65 vector<double> a(iir_a); | 65 vector<double> a(iir_a); |
66 vector<double> b(iir_b); | 66 vector<double> b(iir_b); |
67 vector<double> in({ 1.0 }); | 67 vector<double> in({ 1.0 }); |
68 vector<double> out({ 0.0 }); | 68 vector<double> out({ 0.0 }); |
69 vector<double> expected({ -0.000236642942007 }); | 69 vector<double> expected({ 0.000607783187363 }); |
70 | 70 |
71 FiltFilt f({ a, b }); | 71 FiltFilt f({ a, b }); |
72 | 72 |
73 f.process(in.data(), out.data(), 1); | 73 f.process(in.data(), out.data(), 1); |
74 | 74 |
81 { | 81 { |
82 vector<double> a(iir_a); | 82 vector<double> a(iir_a); |
83 vector<double> b(iir_b); | 83 vector<double> b(iir_b); |
84 | 84 |
85 vector<double> in { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }; | 85 vector<double> in { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }; |
86 vector<double> expected { 0.0180395628158, -0.0317213769922, 0.0276928584707, -0.00944844359572, -0.0119394068579, 0.0252763627734, -0.0239770024451, 0.010560830803, 0.00726290602379, -0.0191915890394, 0.0202451156989, -0.0103434265023, -0.00341952789985, 0.0142823904341, -0.0160627659442, 0.00984876782803 }; | 86 vector<double> expected { 0.0183210564167, -0.0251812631055, 0.0182718199887, -0.00232894428926, -0.0131783133711, 0.0204387725824, -0.016092298975, 0.00402175146108, 0.00913732971217, -0.0158214509991, 0.0138601876508, -0.00455783828038, -0.00563875593951, 0.0121184171941, -0.011073916445, 0.00491681731861 }; |
87 | 87 |
88 FiltFilt f({ a, b }); | 88 FiltFilt f({ a, b }); |
89 | 89 |
90 int n = expected.size(); | 90 int n = expected.size(); |
91 vector<double> out(n, 0.0); | 91 vector<double> out(n, 0.0); |