DistanceF16.cpp 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. #include "DistanceF16.h"
  2. #include <stdio.h>
  3. #include "Error.h"
  4. #include "Test.h"
  5. void DistanceF16::test_braycurtis_distance_f16()
  6. {
  7. float16_t outp;
  8. outp = arm_braycurtis_distance_f16(inpA, inpB, this->vecDim);
  9. }
  10. void DistanceF16::test_canberra_distance_f16()
  11. {
  12. float16_t outp;
  13. outp = arm_canberra_distance_f16(inpA, inpB, this->vecDim);
  14. }
  15. void DistanceF16::test_chebyshev_distance_f16()
  16. {
  17. float16_t outp;
  18. outp = arm_chebyshev_distance_f16(inpA, inpB, this->vecDim);
  19. }
  20. void DistanceF16::test_cityblock_distance_f16()
  21. {
  22. float16_t outp;
  23. outp = arm_cityblock_distance_f16(inpA, inpB, this->vecDim);
  24. }
  25. void DistanceF16::test_correlation_distance_f16()
  26. {
  27. float16_t outp;
  28. memcpy(tmpAp, inpA, sizeof(float16_t) * this->vecDim);
  29. memcpy(tmpBp, inpB, sizeof(float16_t) * this->vecDim);
  30. outp = arm_correlation_distance_f16(tmpAp, tmpBp, this->vecDim);
  31. }
  32. void DistanceF16::test_cosine_distance_f16()
  33. {
  34. float16_t outp;
  35. outp = arm_cosine_distance_f16(inpA, inpB, this->vecDim);
  36. }
  37. void DistanceF16::test_euclidean_distance_f16()
  38. {
  39. float16_t outp;
  40. outp = arm_euclidean_distance_f16(inpA, inpB, this->vecDim);
  41. }
  42. void DistanceF16::test_jensenshannon_distance_f16()
  43. {
  44. float16_t outp;
  45. outp = arm_jensenshannon_distance_f16(inpA, inpB, this->vecDim);
  46. }
  47. void DistanceF16::test_minkowski_distance_f16()
  48. {
  49. float16_t outp;
  50. outp = arm_minkowski_distance_f16(inpA, inpB, 2,this->vecDim);
  51. }
  52. void DistanceF16::setUp(Testing::testID_t id,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr)
  53. {
  54. std::vector<Testing::param_t>::iterator it = paramsArgs.begin();
  55. this->vecDim = *it++;
  56. if ((id != DistanceF16::TEST_MINKOWSKI_DISTANCE_F16_9) && (id != DistanceF16::TEST_JENSENSHANNON_DISTANCE_F16_8))
  57. {
  58. inputA.reload(DistanceF16::INPUTA_PROBA_F16_ID,mgr);
  59. inputB.reload(DistanceF16::INPUTB_PROBA_F16_ID,mgr);
  60. }
  61. else
  62. {
  63. inputA.reload(DistanceF16::INPUTA_F16_ID,mgr);
  64. inputB.reload(DistanceF16::INPUTB_F16_ID,mgr);
  65. }
  66. if (id == DistanceF16::TEST_CORRELATION_DISTANCE_F16_5)
  67. {
  68. tmpA.create(this->vecDim,DistanceF16::TMPA_F16_ID,mgr);
  69. tmpB.create(this->vecDim,DistanceF16::TMPB_F16_ID,mgr);
  70. tmpAp = tmpA.ptr();
  71. tmpBp = tmpB.ptr();
  72. }
  73. inpA=inputA.ptr();
  74. inpB=inputB.ptr();
  75. }
  76. void DistanceF16::tearDown(Testing::testID_t id,Client::PatternMgr *mgr)
  77. {
  78. (void)id;
  79. (void)mgr;
  80. }