Subversion Repositories canSerial

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. #include "jtest.h"
  2. #include "support_test_data.h"
  3. #include "arr_desc.h"
  4. #include "arm_math.h"           /* FUTs */
  5. #include "ref.h"                /* Reference Functions */
  6. #include "test_templates.h"
  7. #include "support_templates.h"
  8. #include "type_abbrev.h"
  9.  
  10. /* Aliases to play nicely with templates. */
  11. #define arm_f32_to_q31 arm_float_to_q31
  12. #define arm_f32_to_q15 arm_float_to_q15
  13. #define arm_f32_to_q7  arm_float_to_q7
  14. #define arm_q31_to_f32 arm_q31_to_float
  15. #define arm_q15_to_f32 arm_q15_to_float
  16. #define arm_q7_to_f32  arm_q7_to_float
  17. #define ref_f32_to_q31 ref_float_to_q31
  18. #define ref_f32_to_q15 ref_float_to_q15
  19. #define ref_f32_to_q7  ref_float_to_q7
  20. #define ref_q31_to_f32 ref_q31_to_float
  21. #define ref_q15_to_f32 ref_q15_to_float
  22. #define ref_q7_to_f32  ref_q7_to_float
  23.  
  24. #define JTEST_ARM_X_TO_Y_TEST(prefix, suffix)               \
  25.     JTEST_DEFINE_TEST(arm_##prefix##_to_##suffix##_test,    \
  26.                       arm_##prefix##_to_##suffix)           \
  27.     {                                                       \
  28.         TEST_TEMPLATE_BUF1_BLK(                             \
  29.             support_f_all,                                  \
  30.             support_block_sizes,                            \
  31.             TYPE_FROM_ABBREV(prefix),                       \
  32.             TYPE_FROM_ABBREV(suffix),                       \
  33.             arm_##prefix##_to_##suffix,                     \
  34.             ARM_x_to_y_INPUT_INTERFACE,                     \
  35.             ref_##prefix##_to_##suffix,                     \
  36.             REF_x_to_y_INPUT_INTERFACE,                     \
  37.             SUPPORT_COMPARE_INTERFACE);                     \
  38.     }
  39.  
  40. JTEST_ARM_X_TO_Y_TEST(f32, q31);
  41. JTEST_ARM_X_TO_Y_TEST(f32, q15);
  42. JTEST_ARM_X_TO_Y_TEST(f32, q7);
  43.  
  44. JTEST_ARM_X_TO_Y_TEST(q31, f32);
  45. JTEST_ARM_X_TO_Y_TEST(q31, q15);
  46. JTEST_ARM_X_TO_Y_TEST(q31, q7);
  47.  
  48. JTEST_ARM_X_TO_Y_TEST(q15, f32);
  49. JTEST_ARM_X_TO_Y_TEST(q15, q31);
  50. JTEST_ARM_X_TO_Y_TEST(q15, q7);
  51.  
  52. JTEST_ARM_X_TO_Y_TEST(q7, f32);
  53. JTEST_ARM_X_TO_Y_TEST(q7, q31);
  54. JTEST_ARM_X_TO_Y_TEST(q7, q15);
  55.  
  56. /*--------------------------------------------------------------------------------*/
  57. /* Collect all tests in a group. */
  58. /*--------------------------------------------------------------------------------*/
  59.  
  60. JTEST_DEFINE_GROUP(x_to_y_tests)
  61. {
  62.     /*
  63.       To skip a test, comment it out.
  64.     */
  65.     JTEST_TEST_CALL(arm_f32_to_q31_test);
  66.     JTEST_TEST_CALL(arm_f32_to_q15_test);
  67.     JTEST_TEST_CALL(arm_f32_to_q7_test);
  68.  
  69.     JTEST_TEST_CALL(arm_q31_to_f32_test);
  70.     JTEST_TEST_CALL(arm_q31_to_q15_test);
  71.     JTEST_TEST_CALL(arm_q31_to_q7_test);
  72.  
  73.     JTEST_TEST_CALL(arm_q15_to_f32_test);
  74.     JTEST_TEST_CALL(arm_q15_to_q31_test);
  75.     JTEST_TEST_CALL(arm_q15_to_q7_test);
  76.  
  77.     JTEST_TEST_CALL(arm_q7_to_f32_test);
  78.     JTEST_TEST_CALL(arm_q7_to_q31_test);
  79.     JTEST_TEST_CALL(arm_q7_to_q15_test);
  80. }
  81.