From 43aec5886449c1b024b740fd6f4500e827bde221 Mon Sep 17 00:00:00 2001 From: Francis Murtagh Date: Mon, 27 May 2019 12:14:10 +0100 Subject: IVGCVSW-3134 Refactor FullyConnected workloads into single workload * Refactor FullyConnected workloads into single workload. * Refactor FullyConnected ref implementation to use Encoders and Decoders to support all DataTypes. * Deleted RefFullyConnectedFloat32Workload and RefFullyConnected2dUint8Workload. Change-Id: Iad30fb0287ab7491e1297997e7d61f1d00785541 Signed-off-by: Francis Murtagh --- src/backends/reference/workloads/BaseIterator.hpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/backends/reference/workloads/BaseIterator.hpp') diff --git a/src/backends/reference/workloads/BaseIterator.hpp b/src/backends/reference/workloads/BaseIterator.hpp index ab6de2b37f..26b0179e71 100644 --- a/src/backends/reference/workloads/BaseIterator.hpp +++ b/src/backends/reference/workloads/BaseIterator.hpp @@ -23,6 +23,8 @@ public: virtual BaseIterator& operator+=(const unsigned int increment) = 0; virtual BaseIterator& operator-=(const unsigned int increment) = 0; + + virtual BaseIterator& operator[](const unsigned int index) = 0; }; template @@ -54,7 +56,7 @@ class TypedIterator : public Base { public: TypedIterator(T* data) - : m_Iterator(data) + : m_Iterator(data), m_Start(data) {} TypedIterator& operator++() override @@ -75,8 +77,15 @@ public: return *this; } + TypedIterator& operator[](const unsigned int index) override + { + m_Iterator = m_Start + index; + return *this; + } + protected: T* m_Iterator; + T* m_Start; }; class QASymm8Decoder : public TypedIterator> -- cgit v1.2.1