1 // 2 // Copyright © 2022 Arm Ltd and Contributors. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 6 #pragma once 7 8 #include "BaseIterator.hpp" 9 10 #include "RefBaseWorkload.hpp" 11 #include <armnn/backends/WorkloadData.hpp> 12 13 namespace armnn 14 { 15 16 class RefComparisonWorkload : public RefBaseWorkload<ComparisonQueueDescriptor> 17 { 18 public: 19 using RefBaseWorkload<ComparisonQueueDescriptor>::m_Data; 20 21 RefComparisonWorkload(const ComparisonQueueDescriptor& descriptor, const WorkloadInfo& info); 22 void PostAllocationConfigure() override; 23 void Execute() const override; 24 void ExecuteAsync(ExecutionData& executionData) override; 25 26 private: 27 void PostAllocationConfigure(std::vector<ITensorHandle*> inputs, std::vector<ITensorHandle*> outputs); 28 void Execute(std::vector<ITensorHandle*> inputs, std::vector<ITensorHandle*> outputs) const; 29 using InType = float; 30 using OutType = bool; 31 32 std::unique_ptr<Decoder<InType>> m_Input0; 33 std::unique_ptr<Decoder<InType>> m_Input1; 34 std::unique_ptr<Encoder<OutType>> m_Output; 35 }; 36 37 } // namespace armnn 38