SupportBarTestsF32.cpp 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #include "SupportBarTestsF32.h"
  2. #include <stdio.h>
  3. #include "Error.h"
  4. #include "arm_math.h"
  5. #include "Test.h"
  6. void SupportBarTestsF32::test_barycenter_f32()
  7. {
  8. const float32_t *inp = input.ptr();
  9. const float32_t *coefsp = coefs.ptr();
  10. const int16_t *dimsp=dims.ptr();
  11. int nbVecs;
  12. int vecDim;
  13. float32_t *outp = output.ptr();
  14. for(int i=0; i < this->nbTests ; i ++)
  15. {
  16. nbVecs = dimsp[2*i+1];
  17. vecDim = dimsp[2*i+2];
  18. arm_barycenter_f32(inp, coefsp,
  19. outp,
  20. nbVecs,
  21. vecDim);
  22. inp += vecDim * nbVecs;
  23. coefsp += nbVecs;
  24. outp += vecDim;
  25. }
  26. ASSERT_NEAR_EQ(output,ref,(float32_t)1e-3);
  27. ASSERT_EMPTY_TAIL(output);
  28. }
  29. void SupportBarTestsF32::setUp(Testing::testID_t id,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr)
  30. {
  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. output.dump(mgr);
  47. }