// // Copyright © 2017 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // #include "ElementwiseFunction.hpp" #include "Broadcast.hpp" #include #include "Minimum.hpp" #include "Maximum.hpp" #include "Abs.hpp" #include "Exp.hpp" #include "Log.hpp" #include "Rsqrt.hpp" #include "Sin.hpp" #include "Sqrt.hpp" namespace armnn { template ElementwiseBinaryFunction::ElementwiseBinaryFunction(const TensorShape& inShape0, const TensorShape& inShape1, const TensorShape& outShape, Decoder& inData0, Decoder& inData1, Encoder& outData) { BroadcastLoop(inShape0, inShape1, outShape).Unroll(Functor(), 0, inData0, inData1, outData); } template ElementwiseUnaryFunction::ElementwiseUnaryFunction(const TensorShape& inShape, const TensorShape& outShape, Decoder& inData, Encoder& outData) { BroadcastLoop(inShape, outShape).Unroll(Functor(), 0, inData, outData); } template LogicalBinaryFunction::LogicalBinaryFunction(const TensorShape& inShape0, const TensorShape& inShape1, const TensorShape& outShape, Decoder& inData0, Decoder& inData1, Encoder& outData) { BroadcastLoop(inShape0, inShape1, outShape).Unroll(Functor(), 0, inData0, inData1, outData); } template LogicalUnaryFunction::LogicalUnaryFunction(const TensorShape& inShape, const TensorShape& outShape, Decoder& inData, Encoder& outData) { BroadcastLoop(inShape, outShape).Unroll(Functor(), 0, inData, outData); } } //namespace armnn template struct armnn::ElementwiseBinaryFunction>; template struct armnn::ElementwiseBinaryFunction>; template struct armnn::ElementwiseBinaryFunction>; template struct armnn::ElementwiseBinaryFunction>; template struct armnn::ElementwiseBinaryFunction>; template struct armnn::ElementwiseBinaryFunction>; template struct armnn::ElementwiseBinaryFunction>; template struct armnn::ElementwiseBinaryFunction>; template struct armnn::ElementwiseBinaryFunction>; template struct armnn::ElementwiseBinaryFunction>; template struct armnn::ElementwiseBinaryFunction>; template struct armnn::ElementwiseBinaryFunction>; // Comparison template struct armnn::ElementwiseBinaryFunction>; template struct armnn::ElementwiseBinaryFunction>; template struct armnn::ElementwiseBinaryFunction>; template struct armnn::ElementwiseBinaryFunction>; template struct armnn::ElementwiseBinaryFunction>; template struct armnn::ElementwiseBinaryFunction>; // Unary template struct armnn::ElementwiseUnaryFunction>; template struct armnn::ElementwiseUnaryFunction>; template struct armnn::ElementwiseUnaryFunction>; template struct armnn::ElementwiseUnaryFunction>; template struct armnn::ElementwiseUnaryFunction>; template struct armnn::ElementwiseUnaryFunction>; template struct armnn::ElementwiseUnaryFunction>; // Logical Unary template struct armnn::LogicalUnaryFunction>; template struct armnn::LogicalBinaryFunction>; template struct armnn::LogicalBinaryFunction>;