blob: ebd5826cc5bc39447aa734414fa4a7e28f5d4992 [file] [log] [blame]
James Conroyaba90cd2020-11-06 16:28:18 +00001//
2// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include "BaseIterator.hpp"
9
Finn Williams73c547d2022-02-15 20:47:34 +000010#include "RefBaseWorkload.hpp"
Colm Donelan0c479742021-12-10 12:43:54 +000011#include <armnn/backends/WorkloadData.hpp>
James Conroyaba90cd2020-11-06 16:28:18 +000012
13namespace armnn
14{
15
Finn Williams73c547d2022-02-15 20:47:34 +000016class RefLogicalUnaryWorkload : public RefBaseWorkload<ElementwiseUnaryQueueDescriptor>
James Conroyaba90cd2020-11-06 16:28:18 +000017{
18public:
Finn Williams73c547d2022-02-15 20:47:34 +000019 using RefBaseWorkload<ElementwiseUnaryQueueDescriptor>::m_Data;
James Conroyaba90cd2020-11-06 16:28:18 +000020
21 RefLogicalUnaryWorkload(const ElementwiseUnaryQueueDescriptor& descriptor, const WorkloadInfo& info);
Finn Williamsb8181f72021-04-07 10:23:21 +010022 void Execute() const override;
23 void ExecuteAsync(WorkingMemDescriptor& workingMemDescriptor) override;
James Conroyaba90cd2020-11-06 16:28:18 +000024
25private:
Finn Williamsb8181f72021-04-07 10:23:21 +010026 void Execute(std::vector<ITensorHandle*> inputs, std::vector<ITensorHandle*> outputs) const;
James Conroyaba90cd2020-11-06 16:28:18 +000027 using InType = bool;
28 using OutType = bool;
James Conroyaba90cd2020-11-06 16:28:18 +000029};
30
31} // namespace armnn