commit c9c1887b32769c0ebdf2a61117b0f55534574011 parent f508e82c451dd4c39b146411569b348281a80435 Author: d.levin256@gmail.com <d.levin256@gmail.com> Date: Mon, 2 Dec 2019 20:52:58 +0000 DSP tests Diffstat:
M | tests/dsp_test.cpp | | | 36 | ++++++++++++++++++++++++++++++++++++ |
1 file changed, 36 insertions(+), 0 deletions(-)
diff --git a/tests/dsp_test.cpp b/tests/dsp_test.cpp @@ -243,6 +243,42 @@ TEST(note_to_hertz) testo::eplison_scope<void> eps(1000); CHECK(kfr::note_to_hertz(60) == fbase(261.6255653005986346778499935233)); CHECK(kfr::note_to_hertz(pack(60)) == pack(fbase(261.6255653005986346778499935233))); + + CHECK(kfr::note_to_hertz(69) == fbase(440.0)); + CHECK(kfr::note_to_hertz(pack(69)) == pack(fbase(440))); +} + +TEST(hertz_to_note) +{ + testo::eplison_scope<void> eps(1000); + CHECK(kfr::hertz_to_note(261.6255653005986346778499935233) == fbase(60)); + CHECK(kfr::hertz_to_note(pack(261.6255653005986346778499935233)) == pack(fbase(60))); + + CHECK(kfr::hertz_to_note(440) == fbase(69)); + CHECK(kfr::hertz_to_note(pack(440)) == pack(fbase(69))); +} + +TEST(amp_to_dB) +{ + testo::eplison_scope<void> eps(1000); + + CHECK(kfr::amp_to_dB(2.0) == fbase(6.0205999132796239042747778944899)); + CHECK(kfr::amp_to_dB(-2.0) == fbase(6.0205999132796239042747778944899)); + CHECK(kfr::amp_to_dB(1.0) == fbase(0)); + CHECK(kfr::amp_to_dB(-1.0) == fbase(0)); + CHECK(kfr::amp_to_dB(0.5) == fbase(-6.0205999132796239042747778944899)); + CHECK(kfr::amp_to_dB(-0.5) == fbase(-6.0205999132796239042747778944899)); + CHECK(kfr::amp_to_dB(0.0) == fbase(-HUGE_VAL)); +} + +TEST(dB_to_amp) +{ + testo::eplison_scope<void> eps(1000); + + CHECK(kfr::dB_to_amp(-HUGE_VAL) == fbase(0.0)); + CHECK(kfr::dB_to_amp(0.0) == fbase(1.0)); + CHECK(kfr::dB_to_amp(6.0205999132796239042747778944899) == fbase(2.0)); + CHECK(kfr::dB_to_amp(-6.0205999132796239042747778944899) == fbase(0.5)); } TEST(delay)