xref: /aosp_15_r20/external/armnn/src/backends/backendsCommon/test/layerTests/MirrorPadTestImpl.hpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1 //
2 // Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
8 #include <armnnTestUtils/LayerTestResult.hpp>
9 
10 #include <Half.hpp>
11 
12 #include <ResolveType.hpp>
13 
14 #include <armnn/Types.hpp>
15 
16 #include <armnn/backends/IBackendInternal.hpp>
17 #include <armnn/backends/WorkloadFactory.hpp>
18 
19 LayerTestResult<float, 2> PadSymmetric2dFloat32Test(
20         armnn::IWorkloadFactory& workloadFactory,
21         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
22         const armnn::ITensorHandleFactory& tensorHandleFactory);
23 
24 LayerTestResult<float, 2> PadReflect2dFloat32Test(
25         armnn::IWorkloadFactory& workloadFactory,
26         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
27         const armnn::ITensorHandleFactory& tensorHandleFactory);
28 
29 LayerTestResult<float, 3> PadSymmetric3dFloat32Test(
30         armnn::IWorkloadFactory& workloadFactory,
31         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
32         const armnn::ITensorHandleFactory& tensorHandleFactory);
33 
34 LayerTestResult<float, 3> PadReflect3dFloat32Test(
35         armnn::IWorkloadFactory& workloadFactory,
36         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
37         const armnn::ITensorHandleFactory& tensorHandleFactory);
38 
39 LayerTestResult<uint8_t, 3> PadSymmetric3dUint8Test(
40         armnn::IWorkloadFactory& workloadFactory,
41         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
42         const armnn::ITensorHandleFactory& tensorHandleFactory);
43 
44 LayerTestResult<uint8_t, 3> PadReflect3dUint8Test(
45         armnn::IWorkloadFactory& workloadFactory,
46         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
47         const armnn::ITensorHandleFactory& tensorHandleFactory);
48 
49 LayerTestResult<int8_t, 3> PadSymmetric3dInt8Test(
50         armnn::IWorkloadFactory& workloadFactory,
51         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
52         const armnn::ITensorHandleFactory& tensorHandleFactory);
53 
54 LayerTestResult<int8_t, 3> PadReflect3dInt8Test(
55         armnn::IWorkloadFactory& workloadFactory,
56         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
57         const armnn::ITensorHandleFactory& tensorHandleFactory);
58 
59 LayerTestResult<float, 4> PadSymmetric4dFloat32Test(
60         armnn::IWorkloadFactory& workloadFactory,
61         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
62         const armnn::ITensorHandleFactory& tensorHandleFactory);
63 
64 LayerTestResult<float, 4> PadReflect4dFloat32Test(
65         armnn::IWorkloadFactory& workloadFactory,
66         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
67         const armnn::ITensorHandleFactory& tensorHandleFactory);
68 
69 LayerTestResult<armnn::BFloat16, 4> PadSymmetric4dBFloat16Test(
70         armnn::IWorkloadFactory& workloadFactory,
71         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
72         const armnn::ITensorHandleFactory& tensorHandleFactory);
73 
74 LayerTestResult<armnn::BFloat16, 4> PadReflect4dBFloat16Test(
75         armnn::IWorkloadFactory& workloadFactory,
76         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
77         const armnn::ITensorHandleFactory& tensorHandleFactory);
78 
79 LayerTestResult<uint8_t, 4> PadSymmetric4dUint8Test(
80         armnn::IWorkloadFactory& workloadFactory,
81         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
82         const armnn::ITensorHandleFactory& tensorHandleFactory);
83 
84 LayerTestResult<uint8_t, 4> PadReflect4dUint8Test(
85         armnn::IWorkloadFactory& workloadFactory,
86         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
87         const armnn::ITensorHandleFactory& tensorHandleFactory);
88 
89 LayerTestResult<int8_t, 4> PadSymmetric4dInt8Test(
90         armnn::IWorkloadFactory& workloadFactory,
91         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
92         const armnn::ITensorHandleFactory& tensorHandleFactory);
93 
94 LayerTestResult<int8_t, 4> PadReflect4dInt8Test(
95         armnn::IWorkloadFactory& workloadFactory,
96         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
97         const armnn::ITensorHandleFactory& tensorHandleFactory);
98 
99 LayerTestResult<int16_t, 4> PadSymmetric4dInt16Test(
100         armnn::IWorkloadFactory& workloadFactory,
101         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
102         const armnn::ITensorHandleFactory& tensorHandleFactory);
103 
104 LayerTestResult<int16_t, 4> PadReflect4dInt16Test(
105         armnn::IWorkloadFactory& workloadFactory,
106         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
107         const armnn::ITensorHandleFactory& tensorHandleFactory);
108 
109 LayerTestResult<armnn::Half, 2> PadSymmetricFloat16Test(
110         armnn::IWorkloadFactory& workloadFactory,
111         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
112         const armnn::ITensorHandleFactory& tensorHandleFactory);
113 
114 LayerTestResult<armnn::Half, 2> PadReflectFloat16Test(
115         armnn::IWorkloadFactory& workloadFactory,
116         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
117         const armnn::ITensorHandleFactory& tensorHandleFactory);