aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/workloads
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/reference/workloads')
-rw-r--r--src/backends/reference/workloads/BaseIterator.hpp16
-rw-r--r--src/backends/reference/workloads/Decoders.hpp4
2 files changed, 20 insertions, 0 deletions
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<const uint8_t, Decoder<float>>
+{
+public:
+ BooleanDecoder(const uint8_t* data)
+ : TypedIterator(data) {}
+
+ BooleanDecoder()
+ : BooleanDecoder(nullptr) {}
+
+ float Get() const override
+ {
+ return *m_Iterator;
+ }
+
+};
+
class QASymm8Encoder : public TypedIterator<uint8_t, Encoder<float>>
{
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<Decoder<float>> MakeDecoder(const TensorInfo& info, const
info.GetQuantizationOffset());
}
}
+ case armnn::DataType::Boolean:
+ {
+ return std::make_unique<BooleanDecoder>(static_cast<const uint8_t*>(data));
+ }
default:
{
BOOST_ASSERT_MSG(false, "Unsupported Data Type!");