text: #ifndef _TEST_UTILS_H
  #define _TEST_UTILS_H
  
  
  /*!
   *  \addtogroup Testsuite Testsuite
   *  \{
   *
   *    \defgroup Testutils Test utilities
   *    \brief Utility entities for test cases
   *    \{
   *
   *  \enum TEST_TYPES
   *  \brief Identify types of data elements in vector register for test cases
   *
   *
   *  \fn void create_empty_array(const TEST_TYPES test_type, void ** const arr, const int num_elems, const int alignment)
   *  \brief Allocate without initialization data array for test cases
   *
   *  The type of array elements is specified by \c test_type
   *
   *  \param[in] test_type Type of test and data
   *  \param[inout] arr Pointers to memory allocated
   *  \param[in] num_elems Number of elements
   *  \param[in] alignment Alignment for memory allocated
   *
   *
   *  \fn void create_test_array(const TEST_TYPES test_type, void ** const arr, const int num_elems, const int alignment)
   *  \brief Allocate and initialize data array for test cases
   *
   *  The type of array elements is specified by \c test_type
   *
   *  \param[in] test_type Type of test and data
   *  \param[inout] arr Pointers to memory allocated and initialized
   *  \param[in] num_elems Number of elements
   *  \param[in] alignment Alignment for memory allocated
   *
   *
   *  \fn int validate_test_arrays(const TEST_TYPES test_type, const void * const arr1, const void * const arr2, const int num_elems)
   *  \brief Validate pair of data arrays generated by test cases
   *
   *  The type of array elements is specified by \c test_type
   *
   *  \param[in] test_type Type of test and data
   *  \param[in] arr1 First data array
   *  \param[in] arr2 Second data array
   *  \param[in] num_elems Number of elements
   *  \return Number of invalid element pairs
   *
   *    \}
   *
   *  \}
   */
  
  
  enum TEST_TYPES { TEST_U8 = 0, TEST_U16, TEST_U32, TEST_U64,  // unsigned integers
                    TEST_I8, TEST_I16, TEST_I32, TEST_I64,      // signed integers
                    TEST_FLT, TEST_DBL };                       // floating-point numbers
  
  
  void create_empty_array(const TEST_TYPES test_type, void ** const arr, const int num_elems, const int alignment);
  void create_test_array(const TEST_TYPES test_type, void ** const arr, const int num_elems, const int alignment);
  int validate_test_arrays(const TEST_TYPES test_type, const void * const arr1, const void * const arr2, const int num_elems);
  
  
  #endif  // _TEST_UTILS_H
  
  