1 // 2 // Copyright © 2017 Arm Ltd. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 6 #pragma once 7 8 #include "../ConversionUtils.hpp" 9 #include "../NamespaceAdaptor.hpp" 10 11 #include <HalInterfaces.h> 12 13 namespace V1_1 = ::android::hardware::neuralnetworks::V1_1; 14 15 namespace armnn_driver 16 { 17 namespace hal_1_1 18 { 19 20 class HalPolicy 21 { 22 public: 23 using Model = V1_1::Model; 24 using Operand = V1_0::Operand; 25 using OperandLifeTime = V1_0::OperandLifeTime; 26 using OperandType = V1_0::OperandType; 27 using Operation = V1_1::Operation; 28 using OperationType = V1_1::OperationType; 29 using getSupportedOperations_cb = V1_1::IDevice::getSupportedOperations_1_1_cb; 30 using ErrorStatus = V1_0::ErrorStatus; 31 32 static bool ConvertOperation(const Operation& operation, const Model& model, ConversionData& data); 33 34 private: 35 static bool ConvertDiv(const Operation& operation, const Model& model, ConversionData& data); 36 static bool ConvertSub(const Operation& operation, const Model& model, ConversionData& data); 37 static bool ConvertMean(const Operation& operation, const Model& model, ConversionData& data); 38 static bool ConvertPad(const Operation& operation, const Model& model, ConversionData& data); 39 static bool ConvertSpaceToBatchNd(const Operation& operation, const Model& model, ConversionData& data); 40 static bool ConvertSqueeze(const Operation& operation, const Model& model, ConversionData& data); 41 static bool ConvertStridedSlice(const Operation& operation, const Model& model, ConversionData& data); 42 static bool ConvertTranspose(const Operation& operation, const Model& model, ConversionData& data); 43 static bool ConvertBatchToSpaceNd(const Operation& operation, const Model& model, ConversionData& data); 44 }; 45 46 } // namespace hal_1_1 47 } // namespace armnn_driver 48