blob: 8d603862b7d0360f668185ead5b3b668f843df46 [file] [log] [blame]
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include "LayerTestResult.hpp"
9
10#include <ResolveType.hpp>
11
12#include <armnn/Types.hpp>
13
Matteo Martincighe5b8eb92019-11-28 15:45:42 +000014#include <armnn/backends/IBackendInternal.hpp>
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010015#include <backendsCommon/WorkloadFactory.hpp>
16
17template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
18LayerTestResult<T, 2> Pad2dTestCommon(
19 armnn::IWorkloadFactory& workloadFactory,
20 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Finn Williams826a5432020-08-27 16:15:20 +010021 const armnn::ITensorHandleFactory& tensorHandleFactory,
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010022 float qScale,
23 int32_t qOffset,
24 const float customPaddingValue = 0.0f);
25
26template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
27LayerTestResult<T, 3> Pad3dTestCommon(
28 armnn::IWorkloadFactory& workloadFactory,
29 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Finn Williams826a5432020-08-27 16:15:20 +010030 const armnn::ITensorHandleFactory& tensorHandleFactory,
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010031 float qScale,
32 int32_t qOffset);
33
34template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
35LayerTestResult<T, 4> Pad4dTestCommon(
36 armnn::IWorkloadFactory& workloadFactory,
37 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Finn Williams826a5432020-08-27 16:15:20 +010038 const armnn::ITensorHandleFactory& tensorHandleFactory,
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010039 float qScale,
40 int32_t qOffset);
41
42LayerTestResult<uint8_t, 2> PadUint82dTest(
43 armnn::IWorkloadFactory& workloadFactory,
Finn Williams826a5432020-08-27 16:15:20 +010044 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
45 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010046
47LayerTestResult<uint8_t, 2> PadUint82dCustomPaddingTest(
48 armnn::IWorkloadFactory& workloadFactory,
Finn Williams826a5432020-08-27 16:15:20 +010049 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
50 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010051
52LayerTestResult<uint8_t, 3> PadUint83dTest(
53 armnn::IWorkloadFactory& workloadFactory,
Finn Williams826a5432020-08-27 16:15:20 +010054 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
55 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010056
57LayerTestResult<uint8_t, 4> PadUint84dTest(
58 armnn::IWorkloadFactory& workloadFactory,
Finn Williams826a5432020-08-27 16:15:20 +010059 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
60 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010061
62LayerTestResult<float, 2> PadFloat322dTest(
63 armnn::IWorkloadFactory& workloadFactory,
Finn Williams826a5432020-08-27 16:15:20 +010064 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
65 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010066
67LayerTestResult<float, 2> PadFloat322dCustomPaddingTest(
68 armnn::IWorkloadFactory& workloadFactory,
Finn Williams826a5432020-08-27 16:15:20 +010069 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
70 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010071
72LayerTestResult<float, 3> PadFloat323dTest(
73 armnn::IWorkloadFactory& workloadFactory,
Finn Williams826a5432020-08-27 16:15:20 +010074 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
75 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010076
77LayerTestResult<float, 4> PadFloat324dTest(
78 armnn::IWorkloadFactory& workloadFactory,
Finn Williams826a5432020-08-27 16:15:20 +010079 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
80 const armnn::ITensorHandleFactory& tensorHandleFactory);
Narumol Prangnawarat44179c32020-03-11 14:51:27 +000081
82LayerTestResult<armnn::BFloat16, 2> PadBFloat162dTest(
83 armnn::IWorkloadFactory& workloadFactory,
Finn Williams826a5432020-08-27 16:15:20 +010084 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
85 const armnn::ITensorHandleFactory& tensorHandleFactory);
Narumol Prangnawarat44179c32020-03-11 14:51:27 +000086
87LayerTestResult<armnn::BFloat16, 2> PadBFloat162dCustomPaddingTest(
88 armnn::IWorkloadFactory& workloadFactory,
Finn Williams826a5432020-08-27 16:15:20 +010089 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
90 const armnn::ITensorHandleFactory& tensorHandleFactory);
Narumol Prangnawarat44179c32020-03-11 14:51:27 +000091
92LayerTestResult<armnn::BFloat16, 3> PadBFloat163dTest(
93 armnn::IWorkloadFactory& workloadFactory,
Finn Williams826a5432020-08-27 16:15:20 +010094 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
95 const armnn::ITensorHandleFactory& tensorHandleFactory);
Narumol Prangnawarat44179c32020-03-11 14:51:27 +000096
97LayerTestResult<armnn::BFloat16, 4> PadBFloat164dTest(
98 armnn::IWorkloadFactory& workloadFactory,
Finn Williams826a5432020-08-27 16:15:20 +010099 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
100 const armnn::ITensorHandleFactory& tensorHandleFactory);
Sadik Armagan041b3c02020-06-04 10:32:18 +0100101
102LayerTestResult<int8_t, 2> PadInt82dTest(
103 armnn::IWorkloadFactory& workloadFactory,
Finn Williams826a5432020-08-27 16:15:20 +0100104 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
105 const armnn::ITensorHandleFactory& tensorHandleFactory);
Sadik Armagan041b3c02020-06-04 10:32:18 +0100106
107LayerTestResult<int8_t, 2> PadInt82dCustomPaddingTest(
108 armnn::IWorkloadFactory& workloadFactory,
Finn Williams826a5432020-08-27 16:15:20 +0100109 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
110 const armnn::ITensorHandleFactory& tensorHandleFactory);
Sadik Armagan041b3c02020-06-04 10:32:18 +0100111
112LayerTestResult<int8_t, 3> PadInt83dTest(
113 armnn::IWorkloadFactory& workloadFactory,
Finn Williams826a5432020-08-27 16:15:20 +0100114 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
115 const armnn::ITensorHandleFactory& tensorHandleFactory);
Sadik Armagan041b3c02020-06-04 10:32:18 +0100116
117LayerTestResult<int8_t, 4> PadInt84dTest(
118 armnn::IWorkloadFactory& workloadFactory,
Finn Williams826a5432020-08-27 16:15:20 +0100119 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
120 const armnn::ITensorHandleFactory& tensorHandleFactory);