aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/workloads/BaseIterator.hpp
diff options
context:
space:
mode:
authorFrancis Murtagh <francis.murtagh@arm.com>2019-05-27 12:14:10 +0100
committerFrancis Murtagh <francis.murtagh@arm.com>2019-05-27 12:14:10 +0100
commit43aec5886449c1b024b740fd6f4500e827bde221 (patch)
treec12a128dcc6895a0663a4e4dd27c4110e492c6dd /src/backends/reference/workloads/BaseIterator.hpp
parent7f2c35a82ec11be50b3478bd15207320bbf3bd57 (diff)
downloadarmnn-43aec5886449c1b024b740fd6f4500e827bde221.tar.gz
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 <francis.murtagh@arm.com>
Diffstat (limited to 'src/backends/reference/workloads/BaseIterator.hpp')
-rw-r--r--src/backends/reference/workloads/BaseIterator.hpp11
1 files changed, 10 insertions, 1 deletions
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<typename IType>
@@ -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<const uint8_t, Decoder<float>>