Add IsQuantizeType(DataType) for use in validation functions
authorAron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Tue, 26 Nov 2019 12:50:34 +0000 (12:50 +0000)
committerÁron Virginás-Tar <aron.virginas-tar@arm.com>
Wed, 27 Nov 2019 09:53:32 +0000 (09:53 +0000)
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ib790b24cfde87c92e29615da942c25bf7c98f95e

include/armnn/TypesUtils.hpp
src/backends/backendsCommon/WorkloadData.cpp

index 32967c6..c8f612f 100644 (file)
@@ -195,6 +195,14 @@ constexpr bool IsQuantizedType()
     return std::is_integral<T>::value;
 }
 
+constexpr bool IsQuantizedType(DataType dataType)
+{
+    return dataType == DataType::QuantisedAsymm8 ||
+           dataType == DataType::QuantisedSymm8  ||
+           dataType == DataType::QuantisedSymm16 ||
+           dataType == DataType::QuantizedSymm8PerAxis;
+}
+
 inline std::ostream& operator<<(std::ostream& os, Status stat)
 {
     os << GetStatusAsCString(stat);
index 83e823c..6d5c6e8 100644 (file)
@@ -2483,10 +2483,7 @@ void DequantizeQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) const
     const TensorInfo& inputTensorInfo  = workloadInfo.m_InputTensorInfos[0];
     const TensorInfo& outputTensorInfo = workloadInfo.m_OutputTensorInfos[0];
 
-    if (inputTensorInfo.GetDataType() != DataType::QuantisedAsymm8 &&
-        inputTensorInfo.GetDataType() != DataType::QuantisedSymm8 &&
-        inputTensorInfo.GetDataType() != DataType::QuantizedSymm8PerAxis &&
-        inputTensorInfo.GetDataType() != DataType::QuantisedSymm16)
+    if (!IsQuantizedType(inputTensorInfo.GetDataType()))
     {
         throw InvalidArgumentException(descriptorName + ": Input to dequantize layer must be quantized type.");
     }