From 0629eb8198e705436a6c514751ba51a2568c7f8b Mon Sep 17 00:00:00 2001 From: Narumol Prangnawarat Date: Thu, 12 Nov 2020 18:27:37 +0000 Subject: IVGCVSW-5090 Add android-nn-driver Support for Logical operators * Add ConvertLogicalBinary * Add support for LOGICAL_AND, LOGICAL_NOT, LOGICAL_OR Signed-off-by: Narumol Prangnawarat Change-Id: I4dcecbebe031915b8c237fd5b9b92c8844847fb7 --- 1.3/HalPolicy.cpp | 15 +++++++++++++++ 1.3/HalPolicy.hpp | 5 +++++ 2 files changed, 20 insertions(+) (limited to '1.3') diff --git a/1.3/HalPolicy.cpp b/1.3/HalPolicy.cpp index 37deec3d..5e456b8a 100644 --- a/1.3/HalPolicy.cpp +++ b/1.3/HalPolicy.cpp @@ -81,6 +81,12 @@ bool HalPolicy::ConvertOperation(const Operation& operation, const Model& model, return ConvertComparison(operation, model, data, ComparisonOperation::LessOrEqual); case V1_3::OperationType::LOCAL_RESPONSE_NORMALIZATION: return ConvertLocalResponseNormalization(operation, model, data); + case V1_3::OperationType::LOGICAL_AND: + return ConvertLogicalBinary(operation, model, data, LogicalBinaryOperation::LogicalAnd); + case V1_3::OperationType::LOGICAL_NOT: + return ConvertElementwiseUnary(operation, model, data, UnaryOperation::LogicalNot); + case V1_3::OperationType::LOGICAL_OR: + return ConvertLogicalBinary(operation, model, data, LogicalBinaryOperation::LogicalOr); case V1_3::OperationType::LOGISTIC: return ConvertLogistic(operation, model, data); case V1_3::OperationType::LOG_SOFTMAX: @@ -314,6 +320,15 @@ bool HalPolicy::ConvertLocalResponseNormalization(const Operation& operation, return ::ConvertLocalResponseNormalization(operation, model, data); } +bool HalPolicy::ConvertLogicalBinary(const Operation& operation, + const Model& model, + ConversionData& data, + armnn::LogicalBinaryOperation logicalOperation) +{ + ALOGV("hal_1_3::HalPolicy::ConvertLogicalBinary()"); + return ::ConvertLogicalBinary(operation, model, data, logicalOperation); +} + bool HalPolicy::ConvertLogistic(const Operation& operation, const Model& model, ConversionData& data) { ALOGV("hal_1_3::HalPolicy::ConvertLogistic()"); diff --git a/1.3/HalPolicy.hpp b/1.3/HalPolicy.hpp index 0eb5f4d7..f82a5ef7 100644 --- a/1.3/HalPolicy.hpp +++ b/1.3/HalPolicy.hpp @@ -95,6 +95,11 @@ private: const Model& model, ConversionData& data); + static bool ConvertLogicalBinary(const Operation& operation, + const Model& model, + ConversionData& data, + armnn::LogicalBinaryOperation logicalOperation); + static bool ConvertLogistic(const Operation& operation, const Model& model, ConversionData& data); static bool ConvertLogSoftmax(const Operation& operation, const Model& model, ConversionData& data); -- cgit v1.2.1