From 9b3983299f882c8d84c5abd0d40ca75a801ea7f2 Mon Sep 17 00:00:00 2001 From: Mike Kelly Date: Wed, 22 May 2019 17:21:49 +0100 Subject: IVGCVSW-3025: Refactor reference Convolution2d workload * Refactored RefConvolution2dWorkload to support all DataTypes through Encoders and Decoders. * Added Convolute function to ConvImpl that uses Encoders and Decoders to support all DataTypes. * Deleted RefConvolution2dFloat32Workload and RefConvolution2dUint8Workload. Signed-off-by: Mike Kelly Signed-off-by: Teresa Charlin Change-Id: Ic5ef0f499d08b948fa65fdee54b5f681fd0b1c05 --- src/backends/reference/workloads/BaseIterator.hpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (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 97af95a0eb..ab6de2b37f 100644 --- a/src/backends/reference/workloads/BaseIterator.hpp +++ b/src/backends/reference/workloads/BaseIterator.hpp @@ -123,6 +123,21 @@ public: } }; +class ScaledInt32Decoder : public TypedIterator> +{ +public: + ScaledInt32Decoder(const int32_t* data, const float scale) + : TypedIterator(data), m_Scale(scale) {} + + float Get() const override + { + return static_cast(*m_Iterator) * m_Scale; + } + +private: + const float m_Scale; +}; + class QASymm8Encoder : public TypedIterator> { public: -- cgit v1.2.1