ArmNN
 25.11
Loading...
Searching...
No Matches
ElementwiseBinaryOperator.hpp
Go to the documentation of this file.
1//
2// Copyright © 2022-2025 Arm Ltd and Contributors. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
9
10using namespace armnn;
11using namespace tosa;
12
13TosaSerializationBasicBlock* ConvertElementwiseBinaryToTosaOperator(const Layer* layer,
14 const LayerType type,
15 const std::vector<const TensorInfo*>& inputs,
16 const std::vector<const TensorInfo*>& outputs,
18 descriptor = nullptr);
19
20TosaSerializationBasicBlock* ConvertSquaredDifferenceToTosaOperator(const Layer* layer,
21 const LayerType type,
22 const std::vector<const TensorInfo*>& inputs,
23 const std::vector<const TensorInfo*>& outputs,
24 const ElementwiseBinaryDescriptor* descriptor);
25
26/// Function used to add the ADD operator to the operator vector.
27void ConvertAddToTosaOperator(const std::vector<string>& inputs,
28 const std::vector<string>& outputs,
29 std::vector<TosaSerializationOperator*>& operators);
30
31/// Function used to add the MUL operator to the operator vector.
32void ConvertMulToTosaOperator(const std::vector<string>& inputs,
33 const std::vector<string>& outputs,
34 std::vector<TosaSerializationOperator*>& operators);
35
36/// Function used to add the SUB operator to the operator vector.
37void ConvertSubToTosaOperator(const std::vector<string>& inputs,
38 const std::vector<string>& outputs,
39 std::vector<TosaSerializationOperator*>& operators);
40
41/// Function used to calculate correct scales for rescales for Int8 input to ADD, MUL and SUB operators.
42void CalculateRescaleScales(float& input0Scale,
43 float& input1Scale,
44 float& outputScale,
45 const BinaryOperation& operation);
void CalculateRescaleScales(float &input0Scale, float &input1Scale, float &outputScale, const BinaryOperation &operation)
Function used to calculate correct scales for rescales for Int8 input to ADD, MUL and SUB operators.
void ConvertAddToTosaOperator(const std::vector< string > &inputs, const std::vector< string > &outputs, std::vector< TosaSerializationOperator * > &operators)
Function used to add the ADD operator to the operator vector.
TosaSerializationBasicBlock * ConvertSquaredDifferenceToTosaOperator(const Layer *layer, const LayerType type, const std::vector< const TensorInfo * > &inputs, const std::vector< const TensorInfo * > &outputs, const ElementwiseBinaryDescriptor *descriptor)
TosaSerializationBasicBlock * ConvertElementwiseBinaryToTosaOperator(const Layer *layer, const LayerType type, const std::vector< const TensorInfo * > &inputs, const std::vector< const TensorInfo * > &outputs, const ElementwiseBinaryDescriptor *descriptor=nullptr)
void ConvertMulToTosaOperator(const std::vector< string > &inputs, const std::vector< string > &outputs, std::vector< TosaSerializationOperator * > &operators)
Function used to add the MUL operator to the operator vector.
void ConvertSubToTosaOperator(const std::vector< string > &inputs, const std::vector< string > &outputs, std::vector< TosaSerializationOperator * > &operators)
Function used to add the SUB operator to the operator vector.
Copyright (c) 2021 ARM Limited and Contributors.
LayerType
When adding a new layer, adapt also the LastLayer enum value in the enum class LayerType below.
Definition Types.hpp:494
BinaryOperation
Definition Types.hpp:139
A ElementwiseBinaryDescriptor for the ElementwiseBinaryLayer.