blob: 06cc574380508514f90ba258d013740b00962834 [file] [log] [blame]
arovir01b0717b52018-09-05 17:03:25 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
Matteo Martincigh8b287c22018-09-07 09:25:10 +01008#include "../ConversionUtils.hpp"
arovir01b0717b52018-09-05 17:03:25 +01009
10#include <HalInterfaces.h>
11
12namespace armnn_driver
13{
14namespace hal_1_1
15{
16
17class HalPolicy
18{
19public:
20 using Model = V1_1::Model;
21 using Operation = V1_1::Operation;
Nikhil Raj77605822018-09-03 11:25:56 +010022 using OperationType = V1_1::OperationType;
arovir01b0717b52018-09-05 17:03:25 +010023 using getSupportedOperations_cb = V1_1::IDevice::getSupportedOperations_1_1_cb;
24
25 static bool ConvertOperation(const Operation& operation, const Model& model, ConversionData& data);
26
27private:
28 static bool ConvertDiv(const Operation& operation, const Model& model, ConversionData& data);
David Beck38e12942018-09-12 16:02:24 +010029 static bool ConvertSub(const Operation& operation, const Model& model, ConversionData& data);
narpra013c052562018-09-17 14:25:04 +010030 static bool ConvertMean(const Operation& operation, const Model& model, ConversionData& data);
Nina Drozd62a4a9f2018-10-01 14:20:25 +010031 static bool ConvertPad(const Operation& operation, const Model& model, ConversionData& data);
saoste01b8471482018-10-10 09:44:51 +010032 static bool ConvertSqueeze(const Operation& operation, const Model& model, ConversionData& data);
arovir01b0717b52018-09-05 17:03:25 +010033};
34
35} // namespace hal_1_1
36} // namespace armnn_driver