xref: /aosp_15_r20/external/armnn/src/backends/backendsCommon/test/layerTests/StridedSliceTestImpl.hpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1 //
2 // Copyright © 2017 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 <armnn/backends/IBackendInternal.hpp>
11 #include <armnn/backends/WorkloadFactory.hpp>
12 
13 LayerTestResult<float, 4> StridedSlice4dFloat32Test(
14     armnn::IWorkloadFactory& workloadFactory,
15     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
16     const armnn::ITensorHandleFactory& tensorHandleFactory);
17 
18 LayerTestResult<float, 4> StridedSlice4dReverseFloat32Test(
19     armnn::IWorkloadFactory& workloadFactory,
20     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
21     const armnn::ITensorHandleFactory& tensorHandleFactory);
22 
23 LayerTestResult<float, 4> StridedSliceSimpleStrideFloat32Test(
24     armnn::IWorkloadFactory& workloadFactory,
25     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
26     const armnn::ITensorHandleFactory& tensorHandleFactory);
27 
28 LayerTestResult<float, 4> StridedSliceSimpleRangeMaskFloat32Test(
29     armnn::IWorkloadFactory& workloadFactory,
30     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
31     const armnn::ITensorHandleFactory& tensorHandleFactory);
32 
33 LayerTestResult<float, 2> StridedSliceShrinkAxisMaskFloat32Test(
34     armnn::IWorkloadFactory& workloadFactory,
35     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
36     const armnn::ITensorHandleFactory& tensorHandleFactory);
37 
38 LayerTestResult<float, 2> StridedSliceShrinkAxisMaskBitPosition0Dim3Float32Test(
39     armnn::IWorkloadFactory& workloadFactory,
40     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
41     const armnn::ITensorHandleFactory& tensorHandleFactory);
42 
43 LayerTestResult<float, 4> StridedSliceShrinkAxisMaskCTSFloat32Test(
44     armnn::IWorkloadFactory& workloadFactory,
45     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
46     const armnn::ITensorHandleFactory& tensorHandleFactory);
47 
48 LayerTestResult<float, 3> StridedSliceShrinkAxisMaskBitPosition0Float32Test(
49     armnn::IWorkloadFactory& workloadFactory,
50     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
51     const armnn::ITensorHandleFactory& tensorHandleFactory);
52 
53 LayerTestResult<float, 3> StridedSliceShrinkAxisMaskBitPosition1Float32Test(
54     armnn::IWorkloadFactory& workloadFactory,
55     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
56     const armnn::ITensorHandleFactory& tensorHandleFactory);
57 
58 LayerTestResult<float, 3> StridedSliceShrinkAxisMaskBitPosition2Float32Test(
59     armnn::IWorkloadFactory& workloadFactory,
60     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
61     const armnn::ITensorHandleFactory& tensorHandleFactory);
62 
63 LayerTestResult<float, 3> StridedSliceShrinkAxisMaskBitPosition3Float32Test(
64     armnn::IWorkloadFactory& workloadFactory,
65     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
66     const armnn::ITensorHandleFactory& tensorHandleFactory);
67 
68 LayerTestResult<float, 2> StridedSliceShrinkAxisMaskBitPosition0And1Float32Test(
69     armnn::IWorkloadFactory& workloadFactory,
70     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
71     const armnn::ITensorHandleFactory& tensorHandleFactory);
72 
73 LayerTestResult<float, 2> StridedSliceShrinkAxisMaskBitPosition0And2Float32Test(
74     armnn::IWorkloadFactory& workloadFactory,
75     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
76     const armnn::ITensorHandleFactory& tensorHandleFactory);
77 
78 LayerTestResult<float, 2> StridedSliceShrinkAxisMaskBitPosition0And3Float32Test(
79     armnn::IWorkloadFactory& workloadFactory,
80     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
81     const armnn::ITensorHandleFactory& tensorHandleFactory);
82 
83 LayerTestResult<float, 1> StridedSliceShrinkAxisMaskBitPosition0And1And3Float32Test(
84     armnn::IWorkloadFactory& workloadFactory,
85     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
86     const armnn::ITensorHandleFactory& tensorHandleFactory);
87 
88 LayerTestResult<float, 3> StridedSlice3dFloat32Test(
89     armnn::IWorkloadFactory& workloadFactory,
90     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
91     const armnn::ITensorHandleFactory& tensorHandleFactory);
92 
93 LayerTestResult<float, 3> StridedSlice3dReverseFloat32Test(
94     armnn::IWorkloadFactory& workloadFactory,
95     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
96     const armnn::ITensorHandleFactory& tensorHandleFactory);
97 
98 LayerTestResult<float, 2> StridedSlice2dFloat32Test(
99     armnn::IWorkloadFactory& workloadFactory,
100     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
101     const armnn::ITensorHandleFactory& tensorHandleFactory);
102 
103 LayerTestResult<float, 2> StridedSlice2dReverseFloat32Test(
104     armnn::IWorkloadFactory& workloadFactory,
105     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
106     const armnn::ITensorHandleFactory& tensorHandleFactory);
107 
108 LayerTestResult<uint8_t, 4> StridedSlice4dUint8Test(
109     armnn::IWorkloadFactory& workloadFactory,
110     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
111     const armnn::ITensorHandleFactory& tensorHandleFactory);
112 
113 LayerTestResult<uint8_t, 4> StridedSlice4dReverseUint8Test(
114     armnn::IWorkloadFactory& workloadFactory,
115     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
116     const armnn::ITensorHandleFactory& tensorHandleFactory);
117 
118 LayerTestResult<uint8_t, 4> StridedSliceSimpleStrideUint8Test(
119     armnn::IWorkloadFactory& workloadFactory,
120     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
121     const armnn::ITensorHandleFactory& tensorHandleFactory);
122 
123 LayerTestResult<uint8_t, 4> StridedSliceSimpleRangeMaskUint8Test(
124     armnn::IWorkloadFactory& workloadFactory,
125     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
126     const armnn::ITensorHandleFactory& tensorHandleFactory);
127 
128 LayerTestResult<uint8_t, 2> StridedSliceShrinkAxisMaskUint8Test(
129     armnn::IWorkloadFactory& workloadFactory,
130     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
131     const armnn::ITensorHandleFactory& tensorHandleFactory);
132 
133 LayerTestResult<uint8_t, 2> StridedSliceShrinkAxisMaskBitPosition0Dim3Uint8Test(
134     armnn::IWorkloadFactory& workloadFactory,
135     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
136     const armnn::ITensorHandleFactory& tensorHandleFactory);
137 
138 LayerTestResult<uint8_t, 3> StridedSliceShrinkAxisMaskBitPosition0Uint8Test(
139     armnn::IWorkloadFactory& workloadFactory,
140     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
141     const armnn::ITensorHandleFactory& tensorHandleFactory);
142 
143 LayerTestResult<uint8_t, 3> StridedSliceShrinkAxisMaskBitPosition1Uint8Test(
144     armnn::IWorkloadFactory& workloadFactory,
145     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
146     const armnn::ITensorHandleFactory& tensorHandleFactory);
147 
148 LayerTestResult<uint8_t, 3> StridedSliceShrinkAxisMaskBitPosition2Uint8Test(
149     armnn::IWorkloadFactory& workloadFactory,
150     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
151     const armnn::ITensorHandleFactory& tensorHandleFactory);
152 
153 LayerTestResult<uint8_t, 3> StridedSliceShrinkAxisMaskBitPosition3Uint8Test(
154     armnn::IWorkloadFactory& workloadFactory,
155     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
156     const armnn::ITensorHandleFactory& tensorHandleFactory);
157 
158 LayerTestResult<uint8_t, 2> StridedSliceShrinkAxisMaskBitPosition0And1Uint8Test(
159     armnn::IWorkloadFactory& workloadFactory,
160     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
161     const armnn::ITensorHandleFactory& tensorHandleFactory);
162 
163 LayerTestResult<uint8_t, 2> StridedSliceShrinkAxisMaskBitPosition0And2Uint8Test(
164     armnn::IWorkloadFactory& workloadFactory,
165     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
166     const armnn::ITensorHandleFactory& tensorHandleFactory);
167 
168 LayerTestResult<uint8_t, 2> StridedSliceShrinkAxisMaskBitPosition0And3Uint8Test(
169     armnn::IWorkloadFactory& workloadFactory,
170     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
171     const armnn::ITensorHandleFactory& tensorHandleFactory);
172 
173 LayerTestResult<uint8_t, 1> StridedSliceShrinkAxisMaskBitPosition0And1And3Uint8Test(
174     armnn::IWorkloadFactory& workloadFactory,
175     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
176     const armnn::ITensorHandleFactory& tensorHandleFactory);
177 
178 LayerTestResult<uint8_t, 3> StridedSlice3dUint8Test(
179     armnn::IWorkloadFactory& workloadFactory,
180     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
181     const armnn::ITensorHandleFactory& tensorHandleFactory);
182 
183 LayerTestResult<uint8_t, 3> StridedSlice3dReverseUint8Test(
184     armnn::IWorkloadFactory& workloadFactory,
185     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
186     const armnn::ITensorHandleFactory& tensorHandleFactory);
187 
188 LayerTestResult<uint8_t, 2> StridedSlice2dUint8Test(
189     armnn::IWorkloadFactory& workloadFactory,
190     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
191     const armnn::ITensorHandleFactory& tensorHandleFactory);
192 
193 LayerTestResult<uint8_t, 2> StridedSlice2dReverseUint8Test(
194     armnn::IWorkloadFactory& workloadFactory,
195     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
196     const armnn::ITensorHandleFactory& tensorHandleFactory);
197 
198 LayerTestResult<int16_t, 4> StridedSlice4dInt16Test(
199     armnn::IWorkloadFactory& workloadFactory,
200     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
201     const armnn::ITensorHandleFactory& tensorHandleFactory);
202 
203 LayerTestResult<int16_t, 4> StridedSlice4dReverseInt16Test(
204     armnn::IWorkloadFactory& workloadFactory,
205     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
206     const armnn::ITensorHandleFactory& tensorHandleFactory);
207 
208 LayerTestResult<int16_t, 4> StridedSliceSimpleStrideInt16Test(
209     armnn::IWorkloadFactory& workloadFactory,
210     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
211     const armnn::ITensorHandleFactory& tensorHandleFactory);
212 
213 LayerTestResult<int16_t, 4> StridedSliceSimpleRangeMaskInt16Test(
214     armnn::IWorkloadFactory& workloadFactory,
215     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
216     const armnn::ITensorHandleFactory& tensorHandleFactory);
217 
218 LayerTestResult<int16_t, 2> StridedSliceShrinkAxisMaskInt16Test(
219     armnn::IWorkloadFactory& workloadFactory,
220     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
221     const armnn::ITensorHandleFactory& tensorHandleFactory);
222 
223 LayerTestResult<int16_t, 3> StridedSlice3dInt16Test(
224     armnn::IWorkloadFactory& workloadFactory,
225     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
226     const armnn::ITensorHandleFactory& tensorHandleFactory);
227 
228 LayerTestResult<int16_t, 3> StridedSlice3dReverseInt16Test(
229     armnn::IWorkloadFactory& workloadFactory,
230     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
231     const armnn::ITensorHandleFactory& tensorHandleFactory);
232 
233 LayerTestResult<int16_t, 2> StridedSlice2dInt16Test(
234     armnn::IWorkloadFactory& workloadFactory,
235     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
236     const armnn::ITensorHandleFactory& tensorHandleFactory);
237 
238 LayerTestResult<int16_t, 2> StridedSlice2dReverseInt16Test(
239     armnn::IWorkloadFactory& workloadFactory,
240     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
241     const armnn::ITensorHandleFactory& tensorHandleFactory);
242