• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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