diff options
author | jaseg <git@jaseg.net> | 2020-10-14 12:49:08 +0200 |
---|---|---|
committer | jaseg <git@jaseg.net> | 2020-10-14 12:49:08 +0200 |
commit | 3559d845d29272050d4d44e18e0bb84e676e48ff (patch) | |
tree | d8d6ce99e40b1a3745d76f0c9aac2f10e7286481 /fw/cdc-dials/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/iir_tests.c | |
parent | 491b2acaaa9db1798445f3e174e68ada7424fc33 (diff) | |
parent | 6ab94e0b318884bbcb95e2ea3835f951502e1d99 (diff) | |
download | minikbd-3559d845d29272050d4d44e18e0bb84e676e48ff.tar.gz minikbd-3559d845d29272050d4d44e18e0bb84e676e48ff.tar.bz2 minikbd-3559d845d29272050d4d44e18e0bb84e676e48ff.zip |
Merge firmware and pcb repos
Diffstat (limited to 'fw/cdc-dials/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/iir_tests.c')
-rw-r--r-- | fw/cdc-dials/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/iir_tests.c | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/fw/cdc-dials/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/iir_tests.c b/fw/cdc-dials/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/iir_tests.c new file mode 100644 index 0000000..8d31c3f --- /dev/null +++ b/fw/cdc-dials/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/iir_tests.c @@ -0,0 +1,76 @@ +#include "jtest.h"
+#include "filtering_test_data.h"
+#include "arr_desc.h"
+#include "arm_math.h" /* FUTs */
+#include "ref.h" /* Reference Functions */
+#include "test_templates.h"
+#include "filtering_templates.h"
+#include "type_abbrev.h"
+
+#define IIR_DEFINE_TEST(suffix, output_type) \
+ JTEST_DEFINE_TEST(arm_iir_lattice_##suffix##_test, \
+ arm_iir_lattice_##suffix) \
+ { \
+ arm_iir_lattice_instance_##suffix iir_inst_fut = { 0 }; \
+ arm_iir_lattice_instance_##suffix iir_inst_ref = { 0 }; \
+ \
+ TEMPLATE_DO_ARR_DESC( \
+ blocksize_idx, uint32_t, blockSize, filtering_blocksizes \
+ , \
+ TEMPLATE_DO_ARR_DESC( \
+ numstages_idx, uint16_t, numStages, filtering_numstages \
+ , \
+ /* Display test parameter values */ \
+ JTEST_DUMP_STRF("Block Size: %d\n" \
+ "Number of Stages: %d\n", \
+ (int)blockSize, \
+ (int)numStages); \
+ \
+ /* Initialize the IIR Instances */ \
+ arm_iir_lattice_init_##suffix( \
+ &iir_inst_fut, numStages, (output_type*)filtering_coeffs_b_##suffix, \
+ (output_type*)filtering_coeffs_c_##suffix, \
+ (void *) filtering_pState, blockSize); \
+ \
+ JTEST_COUNT_CYCLES( \
+ arm_iir_lattice_##suffix( \
+ &iir_inst_fut, \
+ (void *) filtering_##suffix##_inputs, \
+ (void *) filtering_output_fut, \
+ blockSize)); \
+ \
+ arm_iir_lattice_init_##suffix( \
+ &iir_inst_ref, numStages, (output_type*)filtering_coeffs_b_##suffix, \
+ (output_type*)filtering_coeffs_c_##suffix, \
+ (void *) filtering_pState, blockSize); \
+ \
+ ref_iir_lattice_##suffix( \
+ &iir_inst_ref, \
+ (void *) filtering_##suffix##_inputs, \
+ (void *) filtering_output_ref, \
+ blockSize); \
+ \
+ FILTERING_SNR_COMPARE_INTERFACE( \
+ blockSize, \
+ output_type))); \
+ \
+ return JTEST_TEST_PASSED; \
+ }
+
+IIR_DEFINE_TEST(f32, float32_t);
+IIR_DEFINE_TEST(q31, q31_t);
+IIR_DEFINE_TEST(q15, q15_t);
+
+/*--------------------------------------------------------------------------------*/
+/* Collect all tests in a group. */
+/*--------------------------------------------------------------------------------*/
+
+JTEST_DEFINE_GROUP(iir_tests)
+{
+ /*
+ To skip a test, comment it out.
+ */
+ JTEST_TEST_CALL(arm_iir_lattice_f32_test);
+ JTEST_TEST_CALL(arm_iir_lattice_q31_test);
+ JTEST_TEST_CALL(arm_iir_lattice_q15_test);
+}
|