IVGCVSW-2467 Update Boolean type support
authorNattapat Chaimanowong <nattapat.chaimanowong@arm.com>
Wed, 23 Jan 2019 09:59:14 +0000 (09:59 +0000)
committerMatteo Martincigh <matteo.martincigh@arm.com>
Wed, 23 Jan 2019 11:25:14 +0000 (11:25 +0000)
Change-Id: I0ab3339e8803a3e4e700d8fec9883eccc524b31e

include/armnn/TypesUtils.hpp
src/armnn/TypeUtils.hpp
src/backends/aclCommon/ArmComputeTensorUtils.cpp
src/backends/cl/ClTensorHandle.hpp

index 3ed1dfb..bb75b18 100644 (file)
@@ -129,6 +129,7 @@ constexpr const char* GetDataTypeName(DataType dataType)
         case DataType::Float32:         return "Float32";
         case DataType::QuantisedAsymm8: return "Unsigned8";
         case DataType::Signed32:        return "Signed32";
+        case DataType::Boolean:         return "Boolean";
 
         default:
             return "Unknown";
index 5bb040f..f7d0e07 100644 (file)
@@ -41,7 +41,7 @@ struct ResolveTypeImpl<DataType::Signed32>
 template<>
 struct ResolveTypeImpl<DataType::Boolean>
 {
-    using Type = bool;
+    using Type = uint8_t;
 };
 
 template<DataType DT>
index 32af42f..4f69c0b 100644 (file)
@@ -25,6 +25,8 @@ arm_compute::DataType GetArmComputeDataType(armnn::DataType dataType)
             return arm_compute::DataType::QASYMM8;
         case armnn::DataType::Signed32:
             return arm_compute::DataType::S32;
+        case armnn::DataType::Boolean:
+            return arm_compute::DataType::U8;
         default:
             BOOST_ASSERT_MSG(false, "Unknown data type");
             return arm_compute::DataType::UNKNOWN;
index f791ee8..59a6bee 100644 (file)
@@ -94,6 +94,7 @@ private:
                 armcomputetensorutils::CopyArmComputeITensorData(this->GetTensor(),
                                                                  static_cast<float*>(memory));
                 break;
+            case arm_compute::DataType::U8:
             case arm_compute::DataType::QASYMM8:
                 armcomputetensorutils::CopyArmComputeITensorData(this->GetTensor(),
                                                                  static_cast<uint8_t*>(memory));
@@ -120,6 +121,7 @@ private:
                 armcomputetensorutils::CopyArmComputeITensorData(static_cast<const float*>(memory),
                                                                  this->GetTensor());
                 break;
+            case arm_compute::DataType::U8:
             case arm_compute::DataType::QASYMM8:
                 armcomputetensorutils::CopyArmComputeITensorData(static_cast<const uint8_t*>(memory),
                                                                  this->GetTensor());
@@ -194,6 +196,7 @@ private:
                 armcomputetensorutils::CopyArmComputeITensorData(this->GetTensor(),
                                                                  static_cast<float*>(memory));
                 break;
+            case arm_compute::DataType::U8:
             case arm_compute::DataType::QASYMM8:
                 armcomputetensorutils::CopyArmComputeITensorData(this->GetTensor(),
                                                                  static_cast<uint8_t*>(memory));
@@ -220,6 +223,7 @@ private:
                 armcomputetensorutils::CopyArmComputeITensorData(static_cast<const float*>(memory),
                                                                  this->GetTensor());
                 break;
+            case arm_compute::DataType::U8:
             case arm_compute::DataType::QASYMM8:
                 armcomputetensorutils::CopyArmComputeITensorData(static_cast<const uint8_t*>(memory),
                                                                  this->GetTensor());
@@ -240,4 +244,4 @@ private:
     ITensorHandle* parentHandle = nullptr;
 };
 
-} // namespace armnn
\ No newline at end of file
+} // namespace armnn