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