ArmNN
 23.05
ElementwiseFunction.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017-2021,2023 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
7 #include "Broadcast.hpp"
8 #include "Minimum.hpp"
9 #include "Maximum.hpp"
10 #include "Abs.hpp"
11 #include "Ceil.hpp"
12 #include "Exp.hpp"
13 #include "Log.hpp"
14 #include "Rsqrt.hpp"
15 #include "Sin.hpp"
16 #include "Sqrt.hpp"
17 
18 
19 namespace armnn
20 {
21 
22 template <typename Functor>
24  const TensorShape& inShape1,
25  const TensorShape& outShape,
26  Decoder<InType>& inData0,
27  Decoder<InType>& inData1,
28  Encoder<OutType>& outData)
29 {
30  BroadcastLoop(inShape0, inShape1, outShape).Unroll(Functor(), 0, inData0, inData1, outData);
31 }
32 
33 template <typename Functor>
35  const TensorShape& outShape,
36  Decoder<InType>& inData,
37  Encoder<OutType>& outData)
38 {
39  BroadcastLoop(inShape, outShape).Unroll(Functor(), 0, inData, outData);
40 }
41 
42 template <typename Functor>
44  const TensorShape& inShape1,
45  const TensorShape& outShape,
46  Decoder<InType>& inData0,
47  Decoder<InType>& inData1,
48  Encoder<OutType>& outData)
49 {
50  BroadcastLoop(inShape0, inShape1, outShape).Unroll(Functor(), 0, inData0, inData1, outData);
51 }
52 
53 template <typename Functor>
55  const TensorShape& outShape,
56  Decoder<InType>& inData,
57  Encoder<OutType>& outData)
58 {
59  BroadcastLoop(inShape, outShape).Unroll(Functor(), 0, inData, outData);
60 }
61 
62 } //namespace armnn
63 
70 
77 
78 // Comparison
85 
86 // Unary
95 
96 // Logical Unary
Exp.hpp
armnn::BroadcastLoop::Unroll
void Unroll(Func operationFunc, unsigned int dimension, DecoderOp &inData0, DecoderOp &inData1, EncoderOp &outData)
Definition: Broadcast.hpp:26
armnn::Encoder
Definition: BaseIterator.hpp:54
Log.hpp
armnn::LogicalUnaryFunction
Definition: ElementwiseFunction.hpp:55
armnn::ElementwiseUnaryFunction
Definition: ElementwiseFunction.hpp:29
Rsqrt.hpp
Ceil.hpp
armnn::ElementwiseUnaryFunction::ElementwiseUnaryFunction
ElementwiseUnaryFunction(const TensorShape &inShape, const TensorShape &outShape, Decoder< InType > &inData, Encoder< OutType > &outData)
Definition: ElementwiseFunction.cpp:34
armnn
Copyright (c) 2021 ARM Limited and Contributors.
Definition: 01_00_quick_start.dox:6
ElementwiseFunction.hpp
armnn::LogicalUnaryFunction::LogicalUnaryFunction
LogicalUnaryFunction(const TensorShape &inShape, const TensorShape &outShape, Decoder< InType > &inData, Encoder< OutType > &outData)
Definition: ElementwiseFunction.cpp:54
Minimum.hpp
armnn::TensorShape
Definition: Tensor.hpp:20
Maximum.hpp
armnn::Decoder
Definition: BaseIterator.hpp:37
armnn::LogicalBinaryFunction::LogicalBinaryFunction
LogicalBinaryFunction(const TensorShape &inShape0, const TensorShape &inShape1, const TensorShape &outShape, Decoder< InType > &inData0, Decoder< InType > &inData1, Encoder< OutType > &outData)
Definition: ElementwiseFunction.cpp:43
armnn::LogicalBinaryFunction
Definition: ElementwiseFunction.hpp:41
Broadcast.hpp
armnn::ElementwiseBinaryFunction
Definition: ElementwiseFunction.hpp:15
Abs.hpp
armnn::BroadcastLoop
Definition: Broadcast.hpp:14
armnn::ElementwiseBinaryFunction::ElementwiseBinaryFunction
ElementwiseBinaryFunction(const TensorShape &inShape0, const TensorShape &inShape1, const TensorShape &outShape, Decoder< InType > &inData0, Decoder< InType > &inData1, Encoder< OutType > &outData)
Definition: ElementwiseFunction.cpp:23
Sin.hpp
Sqrt.hpp