#ifndef _FAST_MATH_TEMPLATES_H_ #define _FAST_MATH_TEMPLATES_H_ /*--------------------------------------------------------------------------------*/ /* Includes */ /*--------------------------------------------------------------------------------*/ #include "test_templates.h" #include /* memcpy() */ /*--------------------------------------------------------------------------------*/ /* Group Specific Templates */ /*--------------------------------------------------------------------------------*/ /** * Comparison SNR thresholds for the data types used in transform_tests. */ #define FAST_MATH_SNR_THRESHOLD_float32_t 95 #define FAST_MATH_SNR_THRESHOLD_q31_t 95 #define FAST_MATH_SNR_THRESHOLD_q15_t 45 /** * Compare the outputs from the function under test and the reference * function using SNR. */ #define FAST_MATH_SNR_COMPARE_INTERFACE(block_size, \ output_type) \ do \ { \ TEST_CONVERT_AND_ASSERT_SNR( \ fast_math_output_f32_ref, \ (output_type *) fast_math_output_ref, \ fast_math_output_f32_fut, \ (output_type *) fast_math_output_fut, \ block_size, \ output_type, \ FAST_MATH_SNR_THRESHOLD_##output_type \ ); \ } while (0) /*--------------------------------------------------------------------------------*/ /* TEST Templates */ /*--------------------------------------------------------------------------------*/ #define SQRT_TEST_TEMPLATE_ELT1(suffix) \ \ JTEST_DEFINE_TEST(arm_sqrt_##suffix##_test, arm_sqrt_##suffix) \ { \ uint32_t i; \ \ JTEST_COUNT_CYCLES( \ for(i=0;i