blob: bc514881d614d890dd5e5359e612c35715a1b5b5 [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,
21 float qScale,
22 int32_t qOffset,
23 const float customPaddingValue = 0.0f);
24
25template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
26LayerTestResult<T, 3> Pad3dTestCommon(
27 armnn::IWorkloadFactory& workloadFactory,
28 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
29 float qScale,
30 int32_t qOffset);
31
32template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
33LayerTestResult<T, 4> Pad4dTestCommon(
34 armnn::IWorkloadFactory& workloadFactory,
35 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
36 float qScale,
37 int32_t qOffset);
38
39LayerTestResult<uint8_t, 2> PadUint82dTest(
40 armnn::IWorkloadFactory& workloadFactory,
41 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
42
43LayerTestResult<uint8_t, 2> PadUint82dCustomPaddingTest(
44 armnn::IWorkloadFactory& workloadFactory,
45 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
46
47LayerTestResult<uint8_t, 3> PadUint83dTest(
48 armnn::IWorkloadFactory& workloadFactory,
49 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
50
51LayerTestResult<uint8_t, 4> PadUint84dTest(
52 armnn::IWorkloadFactory& workloadFactory,
53 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
54
55LayerTestResult<float, 2> PadFloat322dTest(
56 armnn::IWorkloadFactory& workloadFactory,
57 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
58
59LayerTestResult<float, 2> PadFloat322dCustomPaddingTest(
60 armnn::IWorkloadFactory& workloadFactory,
61 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
62
63LayerTestResult<float, 3> PadFloat323dTest(
64 armnn::IWorkloadFactory& workloadFactory,
65 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
66
67LayerTestResult<float, 4> PadFloat324dTest(
68 armnn::IWorkloadFactory& workloadFactory,
69 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);