blob: de0144ca15e20ad28ad61aa3865b948d05f9ec68 [file] [log] [blame]
Aron Virginas-Tar77bfb5e2019-10-16 17:45:38 +01001//
2// Copyright © 2019 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include "BaseIterator.hpp"
9
10#include <backendsCommon/Workload.hpp>
11#include <backendsCommon/WorkloadData.hpp>
12
13namespace armnn
14{
15
16class RefComparisonWorkload : public BaseWorkload<ComparisonQueueDescriptor>
17{
18public:
19 using BaseWorkload<ComparisonQueueDescriptor>::m_Data;
20
21 RefComparisonWorkload(const ComparisonQueueDescriptor& descriptor, const WorkloadInfo& info);
22 void PostAllocationConfigure() override;
23 void Execute() const override;
Finn Williamsb8181f72021-04-07 10:23:21 +010024 void ExecuteAsync(WorkingMemDescriptor& workingMemDescriptor) override;
Aron Virginas-Tar77bfb5e2019-10-16 17:45:38 +010025
26private:
Finn Williamsb8181f72021-04-07 10:23:21 +010027 void PostAllocationConfigure(std::vector<ITensorHandle*> inputs, std::vector<ITensorHandle*> outputs);
28 void Execute(std::vector<ITensorHandle*> inputs, std::vector<ITensorHandle*> outputs) const;
Aron Virginas-Tar77bfb5e2019-10-16 17:45:38 +010029 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