ONE - On-device Neural Engine
Loading...
Searching...
No Matches
BinaryArithmetic.cc
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2020 Samsung Electronics Co., Ltd. All Rights Reserved
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
17
#include "
ir/operation/BinaryArithmetic.h
"
18
#include "
ir/OperationVisitor.h
"
19
20
#include <unordered_map>
21
22
namespace
onert
23
{
24
namespace
ir
25
{
26
namespace
operation
27
{
28
29
void
BinaryArithmetic::accept
(
OperationVisitor
&v)
const
{ v.visit(*
this
); }
30
31
BinaryArithmetic::BinaryArithmetic
(
const
OperandIndexSequence
&inputs,
32
const
OperandIndexSequence
&outputs,
const
Param
¶m)
33
:
Operation
{
OperandConstraint
::createExact(2u), inputs, outputs}, _param{param}
34
{
35
}
36
37
std::string
BinaryArithmetic::name
()
const
38
{
39
using
ArithmeticType
=
onert::ir::operation::BinaryArithmetic::ArithmeticType
;
40
static
const
std::unordered_map<ArithmeticType, std::string> name_map{
41
{
ArithmeticType::ADD
, std::string{
"Add"
}},
42
{
ArithmeticType::SUB
, std::string{
"Sub"
}},
43
{
ArithmeticType::MUL
, std::string{
"Mul"
}},
44
{
ArithmeticType::DIV
, std::string{
"Div"
}}};
45
return
name_map.at(_param.
arithmetic_type
);
46
}
47
48
}
// namespace operation
49
}
// namespace ir
50
}
// namespace onert
OperationVisitor.h
onert::ir::OperandConstraint
Definition
OperandConstraint.h:30
onert::ir::OperandIndexSequence
Definition
OperandIndexSequence.h:37
onert::ir::Operation
Definition
Operation.h:34
onert::ir::operation::BinaryArithmetic::accept
void accept(OperationVisitor &v) const override
Definition
BinaryArithmetic.cc:29
onert::ir::operation::BinaryArithmetic::BinaryArithmetic
BinaryArithmetic(const OperandIndexSequence &inputs, const OperandIndexSequence &outputs, const Param ¶m)
Definition
BinaryArithmetic.cc:31
onert::ir::operation::BinaryArithmetic::name
std::string name() const override
Definition
BinaryArithmetic.cc:37
onert::ir::operation::BinaryArithmetic::ArithmeticType
ArithmeticType
Definition
BinaryArithmetic.h:40
onert::ir::operation::BinaryArithmetic::ArithmeticType::SUB
@ SUB
onert::ir::operation::BinaryArithmetic::ArithmeticType::DIV
@ DIV
onert::ir::operation::BinaryArithmetic::ArithmeticType::MUL
@ MUL
onert::ir::operation::BinaryArithmetic::ArithmeticType::ADD
@ ADD
onert
Definition
CustomKernel.cc:20
BinaryArithmetic.h
onert::ir::OperationVisitor
Definition
OperationVisitor.h:28
onert::ir::operation::BinaryArithmetic::Param
Definition
BinaryArithmetic.h:48
onert::ir::operation::BinaryArithmetic::Param::arithmetic_type
ArithmeticType arithmetic_type
Definition
BinaryArithmetic.h:49
runtime
onert
core
src
ir
operation
BinaryArithmetic.cc
Generated by
1.9.8