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