From 2e6dc3a1c5d47825535db7993ba77eb1596ae99b Mon Sep 17 00:00:00 2001 From: Sadik Armagan Date: Wed, 3 Apr 2019 17:48:18 +0100 Subject: IVGCVSW-2861 Refactor the Reference Elementwise workload * Refactor Reference Comparison workload * Removed templating based on the DataType * Implemented BaseIterator to do decode/encode Change-Id: I18f299f47ee23772f90152c1146b42f07465e105 Signed-off-by: Sadik Armagan Signed-off-by: Kevin May --- .../reference/workloads/RefComparisonWorkload.hpp | 76 +++------------------- 1 file changed, 10 insertions(+), 66 deletions(-) (limited to 'src/backends/reference/workloads/RefComparisonWorkload.hpp') diff --git a/src/backends/reference/workloads/RefComparisonWorkload.hpp b/src/backends/reference/workloads/RefComparisonWorkload.hpp index 524d20625a..cfc2dcf2aa 100644 --- a/src/backends/reference/workloads/RefComparisonWorkload.hpp +++ b/src/backends/reference/workloads/RefComparisonWorkload.hpp @@ -13,80 +13,24 @@ namespace armnn { -template -class RefComparisonWorkload -{ - // Needs specialization. The default is empty on purpose. -}; - -template -class RefFloat32ComparisonWorkload : public BaseFloat32ComparisonWorkload -{ -public: - using BaseFloat32ComparisonWorkload::BaseFloat32ComparisonWorkload; - void ExecuteImpl(const char * debugString) const; -}; - -template -class RefComparisonWorkload - : public RefFloat32ComparisonWorkload -{ -public: - using RefFloat32ComparisonWorkload::RefFloat32ComparisonWorkload; - - virtual void Execute() const override - { - using Parent = RefFloat32ComparisonWorkload; - Parent::ExecuteImpl(StringMapping::Instance().Get(DebugString)); - } -}; - -template -class RefUint8ComparisonWorkload : public BaseUint8ComparisonWorkload -{ -public: - using BaseUint8ComparisonWorkload::BaseUint8ComparisonWorkload; - void ExecuteImpl(const char * debugString) const; -}; - template -class RefComparisonWorkload - : public RefUint8ComparisonWorkload +class RefComparisonWorkload : public BaseWorkload { public: - using RefUint8ComparisonWorkload::RefUint8ComparisonWorkload; + using BaseWorkload::m_Data; + using BaseWorkload::BaseWorkload; - virtual void Execute() const override - { - using Parent = RefUint8ComparisonWorkload; - Parent::ExecuteImpl(StringMapping::Instance().Get(DebugString)); - } + void Execute() const override; }; -using RefEqualFloat32Workload = +using RefEqualWorkload = RefComparisonWorkload, - DataType::Float32, - EqualQueueDescriptor, - StringMapping::RefEqualWorkload_Execute>; + EqualQueueDescriptor, + StringMapping::RefEqualWorkload_Execute>; -using RefEqualUint8Workload = - RefComparisonWorkload, - DataType::QuantisedAsymm8, - EqualQueueDescriptor, - StringMapping::RefEqualWorkload_Execute>; -using RefGreaterFloat32Workload = +using RefGreaterWorkload = RefComparisonWorkload, - DataType::Float32, - GreaterQueueDescriptor, - StringMapping::RefGreaterWorkload_Execute>; - -using RefGreaterUint8Workload = - RefComparisonWorkload, - DataType::QuantisedAsymm8, - GreaterQueueDescriptor, - StringMapping::RefGreaterWorkload_Execute>; + GreaterQueueDescriptor, + StringMapping::RefGreaterWorkload_Execute>; } // armnn -- cgit v1.2.1