// // Copyright © 2017 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include #include #include #include "StringMapping.hpp" 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 { public: using RefUint8ComparisonWorkload::RefUint8ComparisonWorkload; virtual void Execute() const override { using Parent = RefUint8ComparisonWorkload; Parent::ExecuteImpl(StringMapping::Instance().Get(DebugString)); } }; using RefEqualFloat32Workload = RefComparisonWorkload, DataType::Float32, EqualQueueDescriptor, StringMapping::RefEqualWorkload_Execute>; using RefEqualUint8Workload = RefComparisonWorkload, DataType::QuantisedAsymm8, EqualQueueDescriptor, StringMapping::RefEqualWorkload_Execute>; using RefGreaterFloat32Workload = RefComparisonWorkload, DataType::Float32, GreaterQueueDescriptor, StringMapping::RefGreaterWorkload_Execute>; using RefGreaterUint8Workload = RefComparisonWorkload, DataType::QuantisedAsymm8, GreaterQueueDescriptor, StringMapping::RefGreaterWorkload_Execute>; } // armnn