DistanceF32.cpp 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. #include "DistanceF32.h"
  2. #include <stdio.h>
  3. #include "Error.h"
  4. #include "Test.h"
  5. void DistanceF32::test_braycurtis_distance_f32()
  6. {
  7. (void)arm_braycurtis_distance_f32(inpA, inpB, this->vecDim);
  8. }
  9. void DistanceF32::test_canberra_distance_f32()
  10. {
  11. (void)arm_canberra_distance_f32(inpA, inpB, this->vecDim);
  12. }
  13. void DistanceF32::test_chebyshev_distance_f32()
  14. {
  15. (void)arm_chebyshev_distance_f32(inpA, inpB, this->vecDim);
  16. }
  17. void DistanceF32::test_cityblock_distance_f32()
  18. {
  19. (void)arm_cityblock_distance_f32(inpA, inpB, this->vecDim);
  20. }
  21. void DistanceF32::test_correlation_distance_f32()
  22. {
  23. memcpy(tmpAp, inpA, sizeof(float32_t) * this->vecDim);
  24. memcpy(tmpBp, inpB, sizeof(float32_t) * this->vecDim);
  25. (void)arm_correlation_distance_f32(tmpAp, tmpBp, this->vecDim);
  26. }
  27. void DistanceF32::test_cosine_distance_f32()
  28. {
  29. (void)arm_cosine_distance_f32(inpA, inpB, this->vecDim);
  30. }
  31. void DistanceF32::test_euclidean_distance_f32()
  32. {
  33. (void)arm_euclidean_distance_f32(inpA, inpB, this->vecDim);
  34. }
  35. void DistanceF32::test_jensenshannon_distance_f32()
  36. {
  37. (void)arm_jensenshannon_distance_f32(inpA, inpB, this->vecDim);
  38. }
  39. void DistanceF32::test_minkowski_distance_f32()
  40. {
  41. (void)arm_minkowski_distance_f32(inpA, inpB, 2,this->vecDim);
  42. }
  43. void DistanceF32::setUp(Testing::testID_t id,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr)
  44. {
  45. std::vector<Testing::param_t>::iterator it = paramsArgs.begin();
  46. this->vecDim = *it++;
  47. if ((id != DistanceF32::TEST_MINKOWSKI_DISTANCE_F32_9) && (id != DistanceF32::TEST_JENSENSHANNON_DISTANCE_F32_8))
  48. {
  49. inputA.reload(DistanceF32::INPUTA_PROBA_F32_ID,mgr);
  50. inputB.reload(DistanceF32::INPUTB_PROBA_F32_ID,mgr);
  51. }
  52. else
  53. {
  54. inputA.reload(DistanceF32::INPUTA_F32_ID,mgr);
  55. inputB.reload(DistanceF32::INPUTB_F32_ID,mgr);
  56. }
  57. if (id == DistanceF32::TEST_CORRELATION_DISTANCE_F32_5)
  58. {
  59. tmpA.create(this->vecDim,DistanceF32::TMPA_F32_ID,mgr);
  60. tmpB.create(this->vecDim,DistanceF32::TMPB_F32_ID,mgr);
  61. tmpAp = tmpA.ptr();
  62. tmpBp = tmpB.ptr();
  63. }
  64. inpA=inputA.ptr();
  65. inpB=inputB.ptr();
  66. }
  67. void DistanceF32::tearDown(Testing::testID_t id,Client::PatternMgr *mgr)
  68. {
  69. (void)id;
  70. }