1*89c4ff92SAndroid Build Coastguard Worker // 2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2019 Arm Ltd. All rights reserved. 3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT 4*89c4ff92SAndroid Build Coastguard Worker // 5*89c4ff92SAndroid Build Coastguard Worker 6*89c4ff92SAndroid Build Coastguard Worker #include <armnnUtils/QuantizeHelper.hpp> 7*89c4ff92SAndroid Build Coastguard Worker #include <armnn/utility/IgnoreUnused.hpp> 8*89c4ff92SAndroid Build Coastguard Worker 9*89c4ff92SAndroid Build Coastguard Worker #include <doctest/doctest.h> 10*89c4ff92SAndroid Build Coastguard Worker 11*89c4ff92SAndroid Build Coastguard Worker #include <vector> 12*89c4ff92SAndroid Build Coastguard Worker 13*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("QuantizeHelper") 14*89c4ff92SAndroid Build Coastguard Worker { 15*89c4ff92SAndroid Build Coastguard Worker namespace 16*89c4ff92SAndroid Build Coastguard Worker { 17*89c4ff92SAndroid Build Coastguard Worker 18*89c4ff92SAndroid Build Coastguard Worker template<typename T> IsFloatIterFunc(T iter)19*89c4ff92SAndroid Build Coastguard Workerbool IsFloatIterFunc(T iter) 20*89c4ff92SAndroid Build Coastguard Worker { 21*89c4ff92SAndroid Build Coastguard Worker armnn::IgnoreUnused(iter); 22*89c4ff92SAndroid Build Coastguard Worker return armnnUtils::IsFloatingPointIterator<T>::value; 23*89c4ff92SAndroid Build Coastguard Worker } 24*89c4ff92SAndroid Build Coastguard Worker 25*89c4ff92SAndroid Build Coastguard Worker } // anonymous namespace 26*89c4ff92SAndroid Build Coastguard Worker 27*89c4ff92SAndroid Build Coastguard Worker TEST_CASE("IsFloatIterFuncTest") 28*89c4ff92SAndroid Build Coastguard Worker { 29*89c4ff92SAndroid Build Coastguard Worker std::vector<float> fArray; 30*89c4ff92SAndroid Build Coastguard Worker CHECK(IsFloatIterFunc(fArray.begin()) == true); 31*89c4ff92SAndroid Build Coastguard Worker CHECK(IsFloatIterFunc(fArray.cbegin()) == true); 32*89c4ff92SAndroid Build Coastguard Worker 33*89c4ff92SAndroid Build Coastguard Worker std::vector<double> dArray; 34*89c4ff92SAndroid Build Coastguard Worker CHECK(IsFloatIterFunc(dArray.begin()) == true); 35*89c4ff92SAndroid Build Coastguard Worker 36*89c4ff92SAndroid Build Coastguard Worker std::vector<int> iArray; 37*89c4ff92SAndroid Build Coastguard Worker CHECK(IsFloatIterFunc(iArray.begin()) == false); 38*89c4ff92SAndroid Build Coastguard Worker 39*89c4ff92SAndroid Build Coastguard Worker float floats[5]; 40*89c4ff92SAndroid Build Coastguard Worker CHECK(IsFloatIterFunc(&floats[0]) == true); 41*89c4ff92SAndroid Build Coastguard Worker 42*89c4ff92SAndroid Build Coastguard Worker int ints[5]; 43*89c4ff92SAndroid Build Coastguard Worker CHECK(IsFloatIterFunc(&ints[0]) == false); 44*89c4ff92SAndroid Build Coastguard Worker } 45*89c4ff92SAndroid Build Coastguard Worker 46*89c4ff92SAndroid Build Coastguard Worker } 47