From b60dd243d3d8131f246f2b122309b998287151d2 Mon Sep 17 00:00:00 2001 From: Sadik Armagan Date: Thu, 19 Mar 2020 13:53:16 +0000 Subject: IVGCVSW-4565 TENSOR_BOOL8 data type not supported in AndroidNN Driver * Enabled Boolean and Int32 data types in Reference Comparison inputs * Added decoder for Boolean data type * Refactored ClGreaterWorkload to work with any data type * Refactored NeonGreaterWorkload to work with any data type !android-nn-driver:2902 Signed-off-by: Sadik Armagan Change-Id: I92772810b744b388831c9dca0119ebf8cb7a447e --- src/backends/reference/workloads/BaseIterator.hpp | 16 ++++++++++++++++ src/backends/reference/workloads/Decoders.hpp | 4 ++++ 2 files changed, 20 insertions(+) (limited to 'src/backends/reference/workloads') diff --git a/src/backends/reference/workloads/BaseIterator.hpp b/src/backends/reference/workloads/BaseIterator.hpp index 5cae5bda83..f43e8b67a9 100644 --- a/src/backends/reference/workloads/BaseIterator.hpp +++ b/src/backends/reference/workloads/BaseIterator.hpp @@ -275,6 +275,22 @@ public: } }; +class BooleanDecoder : public TypedIterator> +{ +public: + BooleanDecoder(const uint8_t* data) + : TypedIterator(data) {} + + BooleanDecoder() + : BooleanDecoder(nullptr) {} + + float Get() const override + { + return *m_Iterator; + } + +}; + class QASymm8Encoder : public TypedIterator> { public: diff --git a/src/backends/reference/workloads/Decoders.hpp b/src/backends/reference/workloads/Decoders.hpp index 83c57c1169..3434ccb764 100644 --- a/src/backends/reference/workloads/Decoders.hpp +++ b/src/backends/reference/workloads/Decoders.hpp @@ -136,6 +136,10 @@ inline std::unique_ptr> MakeDecoder(const TensorInfo& info, const info.GetQuantizationOffset()); } } + case armnn::DataType::Boolean: + { + return std::make_unique(static_cast(data)); + } default: { BOOST_ASSERT_MSG(false, "Unsupported Data Type!"); -- cgit v1.2.1