Rename quantized data types to remove ambiguity for signed/unsigned payloads
[platform/upstream/armnn.git] / src / armnn / CompatibleTypes.hpp
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5
6 #pragma once
7
8 #include "armnn/Types.hpp"
9 #include "Half.hpp"
10
11 namespace armnn
12 {
13
14 template<typename T>
15 bool CompatibleTypes(DataType)
16 {
17     return false;
18 }
19
20 template<>
21 inline bool CompatibleTypes<float>(DataType dataType)
22 {
23     return dataType == DataType::Float32;
24 }
25
26 template<>
27 inline bool CompatibleTypes<Half>(DataType dataType)
28 {
29     return dataType == DataType::Float16;
30 }
31
32 template<>
33 inline bool CompatibleTypes<uint8_t>(DataType dataType)
34 {
35     return dataType == DataType::Boolean || dataType == DataType::QAsymmU8;
36 }
37
38 template<>
39 inline bool CompatibleTypes<int8_t>(DataType dataType)
40 {
41     return dataType == DataType::QSymmS8 || dataType == DataType::QuantizedSymm8PerAxis;
42 }
43
44 template<>
45 inline bool CompatibleTypes<int16_t>(DataType dataType)
46 {
47     return dataType == DataType::QSymmS16;
48 }
49
50 template<>
51 inline bool CompatibleTypes<int32_t>(DataType dataType)
52 {
53     return dataType == DataType::Signed32;
54 }
55
56 } //namespace armnn