#include "jtest.h" #include "matrix_test_data.h" #include "arr_desc.h" #include "arm_math.h" /* FUTs */ #include "ref.h" /* Reference Functions */ #include "test_templates.h" #include "matrix_templates.h" #include "type_abbrev.h" #define JTEST_ARM_MAT_MULT_TEST(suffix) \ MATRIX_DEFINE_TEST_TEMPLATE_ELT2( \ mat_mult, \ suffix, \ MATRIX_TEST_CONFIG_MULTIPLICATIVE_OUTPUT, \ MATRIX_TEST_VALID_MULTIPLICATIVE_DIMENSIONS, \ MATRIX_COMPARE_INTERFACE) JTEST_ARM_MAT_MULT_TEST(f32); JTEST_ARM_MAT_MULT_TEST(q31); /*--------------------------------------------------------------------------------*/ /* Q15 Uses a Different interface than the others. */ /*--------------------------------------------------------------------------------*/ #define ARM_mat_mult_q15_INPUT_INTERFACE(input_a_ptr, input_b_ptr) \ PAREN(input_a_ptr, input_b_ptr, \ (void *) &matrix_output_fut, \ (q15_t *) matrix_output_scratch) JTEST_DEFINE_TEST(arm_mat_mult_q15_test, arm_mat_mult_q15) { MATRIX_TEST_TEMPLATE_ELT2( matrix_q15_a_inputs, matrix_q15_b_inputs, arm_matrix_instance_q15 * , arm_matrix_instance_q15, TYPE_FROM_ABBREV(q15), arm_mat_mult_q15, ARM_mat_mult_q15_INPUT_INTERFACE, ref_mat_mult_q15, REF_mat_mult_INPUT_INTERFACE, MATRIX_TEST_CONFIG_MULTIPLICATIVE_OUTPUT, MATRIX_TEST_VALID_MULTIPLICATIVE_DIMENSIONS, MATRIX_COMPARE_INTERFACE); } /*--------------------------------------------------------------------------------*/ /* Collect all tests in a group. */ /*--------------------------------------------------------------------------------*/ JTEST_DEFINE_GROUP(mat_mult_tests) { /* To skip a test, comment it out. */ JTEST_TEST_CALL(arm_mat_mult_f32_test); JTEST_TEST_CALL(arm_mat_mult_q31_test); JTEST_TEST_CALL(arm_mat_mult_q15_test); }