blob: 91229b3c5881cea47b47259f3b88aabe19657992 [file] [log] [blame]
josh minor4a3c6102020-01-06 16:40:46 -06001//
2// Copyright © 2019 Arm Ltd. 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>
josh minor4a3c6102020-01-06 16:40:46 -060012
13namespace armnn
14{
15
Finn Williams73c547d2022-02-15 20:47:34 +000016class RefElementwiseUnaryWorkload : public RefBaseWorkload<ElementwiseUnaryQueueDescriptor>
josh minor4a3c6102020-01-06 16:40:46 -060017{
18public:
Finn Williams73c547d2022-02-15 20:47:34 +000019 using RefBaseWorkload<ElementwiseUnaryQueueDescriptor>::m_Data;
josh minor4a3c6102020-01-06 16:40:46 -060020
21 RefElementwiseUnaryWorkload(const ElementwiseUnaryQueueDescriptor& descriptor, const WorkloadInfo& info);
josh minor4a3c6102020-01-06 16:40:46 -060022 void Execute() const override;
Finn Williamsb8181f72021-04-07 10:23:21 +010023 void ExecuteAsync(WorkingMemDescriptor& workingMemDescriptor) override;
josh minor4a3c6102020-01-06 16:40:46 -060024
25private:
Finn Williamsb8181f72021-04-07 10:23:21 +010026 void Execute(std::vector<ITensorHandle*> inputs, std::vector<ITensorHandle*> outputs) const;
josh minor4a3c6102020-01-06 16:40:46 -060027 using InType = float;
28 using OutType = float;
josh minor4a3c6102020-01-06 16:40:46 -060029};
30
31} // namespace armnn