ONE - On-device Neural Engine
Loading...
Searching...
No Matches
onert::backend::cpu::ops::CompareLayer Class Reference

#include <ComparisonLayer.h>

Collaboration diagram for onert::backend::cpu::ops::CompareLayer:

Public Member Functions

 CompareLayer ()
 
void configure (const IPortableTensor *lhs, const IPortableTensor *rhs, const ir::operation::Comparison::ComparisonType op_type, IPortableTensor *output)
 
void run () override
 
- Public Member Functions inherited from onert::exec::IFunction
virtual ~IFunction ()=default
 
virtual void prepare ()
 

Detailed Description

Definition at line 28 of file ComparisonLayer.h.

Constructor & Destructor Documentation

◆ CompareLayer()

onert::backend::cpu::ops::CompareLayer::CompareLayer ( )

Definition at line 149 of file ComparisonLayer.cc.

150 : _lhs(nullptr), _rhs(nullptr), _output(nullptr),
152{
153 // DO NOTHING
154}

Member Function Documentation

◆ configure()

void onert::backend::cpu::ops::CompareLayer::configure ( const IPortableTensor lhs,
const IPortableTensor rhs,
const ir::operation::Comparison::ComparisonType  op_type,
IPortableTensor output 
)

Definition at line 156 of file ComparisonLayer.cc.

158{
159 _lhs = lhs;
160 _rhs = rhs;
161 _op_type = op_type;
162 _output = output;
163}

◆ run()

void onert::backend::cpu::ops::CompareLayer::run ( )
overridevirtual

Implements onert::exec::IFunction.

Definition at line 165 of file ComparisonLayer.cc.

166{
167 if (_lhs->data_type() == OperandType::FLOAT32)
168 {
169 compareScalar<float>(_lhs, _rhs, _output, _op_type);
170 }
171 else if (_lhs->data_type() == OperandType::INT32)
172 {
173 compareScalar<int32_t>(_lhs, _rhs, _output, _op_type);
174 }
175 else if (_lhs->data_type() == OperandType::INT64)
176 {
177 compareScalar<int64_t>(_lhs, _rhs, _output, _op_type);
178 }
179 else if (_lhs->data_type() == OperandType::BOOL8)
180 {
181 compareScalar<uint8_t>(_lhs, _rhs, _output, _op_type);
182 }
183 else if (_lhs->data_type() == OperandType::QUANT_UINT8_ASYMM)
184 {
185 compareQuant8<uint8_t>(_lhs, _rhs, _output, _op_type);
186 }
187 else
188 {
189 throw std::runtime_error{"Compare: unsupported data type"};
190 }
191}
ir::DataType data_type() const override final

References onert::backend::IPortableTensor::data_type().


The documentation for this class was generated from the following files: