From ef38d5d0f071c53883e2b2f13c85bfb3df34bf88 Mon Sep 17 00:00:00 2001 From: Sadik Armagan Date: Mon, 25 Mar 2019 09:03:35 +0000 Subject: IVGCVSW-2861 Refactor the Reference Elementwise workloads * Refactored Elementwise Workload into the single workload. * Execute() function will react based on the DataType. Change-Id: I6d4d6a74cec150ed8cb252e70b629ed968e7093d Signed-off-by: Sadik Armagan --- .../reference/workloads/RefElementwiseWorkload.hpp | 51 ++-------------------- 1 file changed, 4 insertions(+), 47 deletions(-) (limited to 'src/backends/reference/workloads/RefElementwiseWorkload.hpp') diff --git a/src/backends/reference/workloads/RefElementwiseWorkload.hpp b/src/backends/reference/workloads/RefElementwiseWorkload.hpp index a5ff376673..371904977a 100644 --- a/src/backends/reference/workloads/RefElementwiseWorkload.hpp +++ b/src/backends/reference/workloads/RefElementwiseWorkload.hpp @@ -20,56 +20,14 @@ template class RefElementwiseWorkload -{ - // Needs specialization. The default is empty on purpose. -}; - -template -class BaseFloat32ElementwiseWorkload : public Float32Workload -{ -public: - using Float32Workload::Float32Workload; - void ExecuteImpl(const char * debugString) const; -}; - -template -class RefElementwiseWorkload - : public BaseFloat32ElementwiseWorkload -{ -public: - using BaseFloat32ElementwiseWorkload::BaseFloat32ElementwiseWorkload; - - virtual void Execute() const override - { - using Parent = BaseFloat32ElementwiseWorkload; - Parent::ExecuteImpl(StringMapping::Instance().Get(DebugString)); - } -}; - -template -class BaseUint8ElementwiseWorkload : public Uint8Workload + : public TypedWorkload { public: - using Uint8Workload::Uint8Workload; - void ExecuteImpl(const char * debugString) const; -}; -template -class RefElementwiseWorkload - : public BaseUint8ElementwiseWorkload -{ -public: - using BaseUint8ElementwiseWorkload::BaseUint8ElementwiseWorkload; + using TypedWorkload::m_Data; + using TypedWorkload::TypedWorkload; - virtual void Execute() const override - { - using Parent = BaseUint8ElementwiseWorkload; - Parent::ExecuteImpl(StringMapping::Instance().Get(DebugString)); - } + void Execute() const override; }; using RefAdditionFloat32Workload = @@ -120,7 +78,6 @@ using RefDivisionUint8Workload = DivisionQueueDescriptor, StringMapping::RefDivisionWorkload_Execute>; - using RefMaximumFloat32Workload = RefElementwiseWorkload, DataType::Float32, -- cgit v1.2.1