blob: fd1fab0690561ad3e0671eb47cab81eff4dadf40 [file] [log] [blame]
David Beck591cdb72018-09-11 16:37:14 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
Sadik Armagan2e6dc3a2019-04-03 17:48:18 +01008#include "BaseIterator.hpp"
David Beck591cdb72018-09-11 16:37:14 +01009#include <armnn/Tensor.hpp>
10
11namespace armnn
12{
13
Derek Lambertif30f7d32019-04-09 10:25:02 +010014template <typename Functor>
Éanna Ó Catháind57415d2018-11-28 16:24:38 +000015struct ElementwiseFunction
David Beck591cdb72018-09-11 16:37:14 +010016{
Derek Lambertif30f7d32019-04-09 10:25:02 +010017 using OutType = typename Functor::result_type;
18 using InType = typename Functor::first_argument_type;
19
Éanna Ó Catháind57415d2018-11-28 16:24:38 +000020 ElementwiseFunction(const TensorShape& inShape0,
FrancisMurtagh30cdfca2018-12-18 12:57:35 +000021 const TensorShape& inShape1,
22 const TensorShape& outShape,
Derek Lambertif30f7d32019-04-09 10:25:02 +010023 armnn::Decoder<InType>& inData0,
24 armnn::Decoder<InType>& inData1,
25 armnn::Encoder<OutType>& outData);
David Beck591cdb72018-09-11 16:37:14 +010026};
27
28} //namespace armnn