SupportBarTestsF32.cpp 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #include "SupportBarTestsF32.h"
  2. #include <stdio.h>
  3. #include "Error.h"
  4. #include "Test.h"
  5. void SupportBarTestsF32::test_barycenter_f32()
  6. {
  7. const float32_t *inp = input.ptr();
  8. const float32_t *coefsp = coefs.ptr();
  9. const int16_t *dimsp=dims.ptr();
  10. int nbVecs;
  11. int vecDim;
  12. float32_t *outp = output.ptr();
  13. for(int i=0; i < this->nbTests ; i ++)
  14. {
  15. nbVecs = dimsp[2*i+1];
  16. vecDim = dimsp[2*i+2];
  17. arm_barycenter_f32(inp, coefsp,
  18. outp,
  19. nbVecs,
  20. vecDim);
  21. inp += vecDim * nbVecs;
  22. coefsp += nbVecs;
  23. outp += vecDim;
  24. }
  25. ASSERT_NEAR_EQ(output,ref,(float32_t)1e-3);
  26. ASSERT_EMPTY_TAIL(output);
  27. }
  28. void SupportBarTestsF32::setUp(Testing::testID_t id,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr)
  29. {
  30. (void)paramsArgs;
  31. dims.reload(SupportBarTestsF32::DIM_S16_ID,mgr);
  32. const int16_t *dimsp=dims.ptr();
  33. this->nbTests=dimsp[0];
  34. switch(id)
  35. {
  36. case TEST_BARYCENTER_F32_1:
  37. input.reload(SupportBarTestsF32::SAMPLES_F32_ID,mgr);
  38. coefs.reload(SupportBarTestsF32::COEFS_F32_ID,mgr);
  39. ref.reload(SupportBarTestsF32::REF_F32_ID,mgr);
  40. output.create(ref.nbSamples(),SupportBarTestsF32::OUT_SAMPLES_F32_ID,mgr);
  41. break;
  42. }
  43. }
  44. void SupportBarTestsF32::tearDown(Testing::testID_t id,Client::PatternMgr *mgr)
  45. {
  46. (void)id;
  47. output.dump(mgr);
  48. }