xref: /aosp_15_r20/external/armnn/src/backends/backendsCommon/test/layerTests/ComparisonTestImpl.hpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1 //
2 // Copyright © 2019 Arm Ltd. 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 // Equal
14 LayerTestResult<uint8_t, 4> EqualSimpleTest(
15     armnn::IWorkloadFactory& workloadFactory,
16     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
17     const armnn::ITensorHandleFactory& tensorHandleFactory);
18 
19 LayerTestResult<uint8_t, 4> EqualBroadcast1ElementTest(
20     armnn::IWorkloadFactory& workloadFactory,
21     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
22     const armnn::ITensorHandleFactory& tensorHandleFactory);
23 
24 LayerTestResult<uint8_t, 4> EqualBroadcast1dVectorTest(
25     armnn::IWorkloadFactory& workloadFactory,
26     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
27     const armnn::ITensorHandleFactory& tensorHandleFactory);
28 
29 LayerTestResult<uint8_t, 4> EqualSimpleFloat16Test(
30     armnn::IWorkloadFactory& workloadFactory,
31     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
32     const armnn::ITensorHandleFactory& tensorHandleFactory);
33 
34 LayerTestResult<uint8_t, 4> EqualBroadcast1ElementFloat16Test(
35     armnn::IWorkloadFactory& workloadFactory,
36     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
37     const armnn::ITensorHandleFactory& tensorHandleFactory);
38 
39 LayerTestResult<uint8_t, 4> EqualBroadcast1dVectorFloat16Test(
40     armnn::IWorkloadFactory& workloadFactory,
41     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
42     const armnn::ITensorHandleFactory& tensorHandleFactory);
43 
44 LayerTestResult<uint8_t, 4> EqualSimpleUint8Test(
45     armnn::IWorkloadFactory& workloadFactory,
46     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
47     const armnn::ITensorHandleFactory& tensorHandleFactory);
48 
49 LayerTestResult<uint8_t, 4> EqualBroadcast1ElementUint8Test(
50     armnn::IWorkloadFactory& workloadFactory,
51     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
52     const armnn::ITensorHandleFactory& tensorHandleFactory);
53 
54 LayerTestResult<uint8_t, 4> EqualBroadcast1dVectorUint8Test(
55     armnn::IWorkloadFactory& workloadFactory,
56     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
57     const armnn::ITensorHandleFactory& tensorHandleFactory);
58 
59 // Greater
60 LayerTestResult<uint8_t, 4> GreaterSimpleTest(
61     armnn::IWorkloadFactory& workloadFactory,
62     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
63     const armnn::ITensorHandleFactory& tensorHandleFactory);
64 
65 LayerTestResult<uint8_t, 4> GreaterBroadcast1ElementTest(
66     armnn::IWorkloadFactory& workloadFactory,
67     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
68     const armnn::ITensorHandleFactory& tensorHandleFactory);
69 
70 LayerTestResult<uint8_t, 4> GreaterBroadcast1dVectorTest(
71     armnn::IWorkloadFactory& workloadFactory,
72     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
73     const armnn::ITensorHandleFactory& tensorHandleFactory);
74 
75 LayerTestResult<uint8_t, 4> GreaterSimpleFloat16Test(
76     armnn::IWorkloadFactory& workloadFactory,
77     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
78     const armnn::ITensorHandleFactory& tensorHandleFactory);
79 
80 LayerTestResult<uint8_t, 4> GreaterBroadcast1ElementFloat16Test(
81     armnn::IWorkloadFactory& workloadFactory,
82     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
83     const armnn::ITensorHandleFactory& tensorHandleFactory);
84 
85 LayerTestResult<uint8_t, 4> GreaterBroadcast1dVectorFloat16Test(
86     armnn::IWorkloadFactory& workloadFactory,
87     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
88     const armnn::ITensorHandleFactory& tensorHandleFactory);
89 
90 LayerTestResult<uint8_t, 4> GreaterSimpleUint8Test(
91     armnn::IWorkloadFactory& workloadFactory,
92     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
93     const armnn::ITensorHandleFactory& tensorHandleFactory);
94 
95 LayerTestResult<uint8_t, 4> GreaterBroadcast1ElementUint8Test(
96     armnn::IWorkloadFactory& workloadFactory,
97     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
98     const armnn::ITensorHandleFactory& tensorHandleFactory);
99 
100 LayerTestResult<uint8_t, 4> GreaterBroadcast1dVectorUint8Test(
101     armnn::IWorkloadFactory& workloadFactory,
102     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
103     const armnn::ITensorHandleFactory& tensorHandleFactory);
104 
105 // GreaterOrEqual
106 LayerTestResult<uint8_t, 4> GreaterOrEqualSimpleTest(
107     armnn::IWorkloadFactory& workloadFactory,
108     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
109     const armnn::ITensorHandleFactory& tensorHandleFactory);
110 
111 LayerTestResult<uint8_t, 4> GreaterOrEqualBroadcast1ElementTest(
112     armnn::IWorkloadFactory& workloadFactory,
113     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
114     const armnn::ITensorHandleFactory& tensorHandleFactory);
115 
116 LayerTestResult<uint8_t, 4> GreaterOrEqualBroadcast1dVectorTest(
117     armnn::IWorkloadFactory& workloadFactory,
118     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
119     const armnn::ITensorHandleFactory& tensorHandleFactory);
120 
121 LayerTestResult<uint8_t, 4> GreaterOrEqualSimpleFloat16Test(
122     armnn::IWorkloadFactory& workloadFactory,
123     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
124     const armnn::ITensorHandleFactory& tensorHandleFactory);
125 
126 LayerTestResult<uint8_t, 4> GreaterOrEqualBroadcast1ElementFloat16Test(
127     armnn::IWorkloadFactory& workloadFactory,
128     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
129     const armnn::ITensorHandleFactory& tensorHandleFactory);
130 
131 LayerTestResult<uint8_t, 4> GreaterOrEqualBroadcast1dVectorFloat16Test(
132     armnn::IWorkloadFactory& workloadFactory,
133     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
134     const armnn::ITensorHandleFactory& tensorHandleFactory);
135 
136 LayerTestResult<uint8_t, 4> GreaterOrEqualSimpleUint8Test(
137     armnn::IWorkloadFactory& workloadFactory,
138     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
139     const armnn::ITensorHandleFactory& tensorHandleFactory);
140 
141 LayerTestResult<uint8_t, 4> GreaterOrEqualBroadcast1ElementUint8Test(
142     armnn::IWorkloadFactory& workloadFactory,
143     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
144     const armnn::ITensorHandleFactory& tensorHandleFactory);
145 
146 LayerTestResult<uint8_t, 4> GreaterOrEqualBroadcast1dVectorUint8Test(
147     armnn::IWorkloadFactory& workloadFactory,
148     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
149     const armnn::ITensorHandleFactory& tensorHandleFactory);
150 
151 // Less
152 LayerTestResult<uint8_t, 4> LessSimpleTest(
153     armnn::IWorkloadFactory& workloadFactory,
154     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
155     const armnn::ITensorHandleFactory& tensorHandleFactory);
156 
157 LayerTestResult<uint8_t, 4> LessBroadcast1ElementTest(
158     armnn::IWorkloadFactory& workloadFactory,
159     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
160     const armnn::ITensorHandleFactory& tensorHandleFactory);
161 
162 LayerTestResult<uint8_t, 4> LessBroadcast1dVectorTest(
163     armnn::IWorkloadFactory& workloadFactory,
164     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
165     const armnn::ITensorHandleFactory& tensorHandleFactory);
166 
167 LayerTestResult<uint8_t, 4> LessSimpleFloat16Test(
168     armnn::IWorkloadFactory& workloadFactory,
169     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
170     const armnn::ITensorHandleFactory& tensorHandleFactory);
171 
172 LayerTestResult<uint8_t, 4> LessBroadcast1ElementFloat16Test(
173     armnn::IWorkloadFactory& workloadFactory,
174     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
175     const armnn::ITensorHandleFactory& tensorHandleFactory);
176 
177 LayerTestResult<uint8_t, 4> LessBroadcast1dVectorFloat16Test(
178     armnn::IWorkloadFactory& workloadFactory,
179     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
180     const armnn::ITensorHandleFactory& tensorHandleFactory);
181 
182 LayerTestResult<uint8_t, 4> LessSimpleUint8Test(
183     armnn::IWorkloadFactory& workloadFactory,
184     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
185     const armnn::ITensorHandleFactory& tensorHandleFactory);
186 
187 LayerTestResult<uint8_t, 4> LessBroadcast1ElementUint8Test(
188     armnn::IWorkloadFactory& workloadFactory,
189     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
190     const armnn::ITensorHandleFactory& tensorHandleFactory);
191 
192 LayerTestResult<uint8_t, 4> LessBroadcast1dVectorUint8Test(
193     armnn::IWorkloadFactory& workloadFactory,
194     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
195     const armnn::ITensorHandleFactory& tensorHandleFactory);
196 
197 // LessOrEqual
198 LayerTestResult<uint8_t, 4> LessOrEqualSimpleTest(
199     armnn::IWorkloadFactory& workloadFactory,
200     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
201     const armnn::ITensorHandleFactory& tensorHandleFactory);
202 
203 LayerTestResult<uint8_t, 4> LessOrEqualBroadcast1ElementTest(
204     armnn::IWorkloadFactory& workloadFactory,
205     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
206     const armnn::ITensorHandleFactory& tensorHandleFactory);
207 
208 LayerTestResult<uint8_t, 4> LessOrEqualBroadcast1dVectorTest(
209     armnn::IWorkloadFactory& workloadFactory,
210     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
211     const armnn::ITensorHandleFactory& tensorHandleFactory);
212 
213 LayerTestResult<uint8_t, 4> LessOrEqualSimpleFloat16Test(
214     armnn::IWorkloadFactory& workloadFactory,
215     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
216     const armnn::ITensorHandleFactory& tensorHandleFactory);
217 
218 LayerTestResult<uint8_t, 4> LessOrEqualBroadcast1ElementFloat16Test(
219     armnn::IWorkloadFactory& workloadFactory,
220     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
221     const armnn::ITensorHandleFactory& tensorHandleFactory);
222 
223 LayerTestResult<uint8_t, 4> LessOrEqualBroadcast1dVectorFloat16Test(
224     armnn::IWorkloadFactory& workloadFactory,
225     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
226     const armnn::ITensorHandleFactory& tensorHandleFactory);
227 
228 LayerTestResult<uint8_t, 4> LessOrEqualSimpleUint8Test(
229     armnn::IWorkloadFactory& workloadFactory,
230     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
231     const armnn::ITensorHandleFactory& tensorHandleFactory);
232 
233 LayerTestResult<uint8_t, 4> LessOrEqualBroadcast1ElementUint8Test(
234     armnn::IWorkloadFactory& workloadFactory,
235     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
236     const armnn::ITensorHandleFactory& tensorHandleFactory);
237 
238 LayerTestResult<uint8_t, 4> LessOrEqualBroadcast1dVectorUint8Test(
239     armnn::IWorkloadFactory& workloadFactory,
240     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
241     const armnn::ITensorHandleFactory& tensorHandleFactory);
242 
243 // NotEqual
244 LayerTestResult<uint8_t, 4> NotEqualSimpleTest(
245     armnn::IWorkloadFactory& workloadFactory,
246     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
247     const armnn::ITensorHandleFactory& tensorHandleFactory);
248 
249 LayerTestResult<uint8_t, 4> NotEqualBroadcast1ElementTest(
250     armnn::IWorkloadFactory& workloadFactory,
251     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
252     const armnn::ITensorHandleFactory& tensorHandleFactory);
253 
254 LayerTestResult<uint8_t, 4> NotEqualBroadcast1dVectorTest(
255     armnn::IWorkloadFactory& workloadFactory,
256     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
257     const armnn::ITensorHandleFactory& tensorHandleFactory);
258 
259 LayerTestResult<uint8_t, 4> NotEqualSimpleFloat16Test(
260     armnn::IWorkloadFactory& workloadFactory,
261     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
262     const armnn::ITensorHandleFactory& tensorHandleFactory);
263 
264 LayerTestResult<uint8_t, 4> NotEqualBroadcast1ElementFloat16Test(
265     armnn::IWorkloadFactory& workloadFactory,
266     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
267     const armnn::ITensorHandleFactory& tensorHandleFactory);
268 
269 LayerTestResult<uint8_t, 4> NotEqualBroadcast1dVectorFloat16Test(
270     armnn::IWorkloadFactory& workloadFactory,
271     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
272     const armnn::ITensorHandleFactory& tensorHandleFactory);
273 
274 LayerTestResult<uint8_t, 4> NotEqualSimpleUint8Test(
275     armnn::IWorkloadFactory& workloadFactory,
276     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
277     const armnn::ITensorHandleFactory& tensorHandleFactory);
278 
279 LayerTestResult<uint8_t, 4> NotEqualBroadcast1ElementUint8Test(
280     armnn::IWorkloadFactory& workloadFactory,
281     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
282     const armnn::ITensorHandleFactory& tensorHandleFactory);
283 
284 LayerTestResult<uint8_t, 4> NotEqualBroadcast1dVectorUint8Test(
285     armnn::IWorkloadFactory& workloadFactory,
286     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
287     const armnn::ITensorHandleFactory& tensorHandleFactory);
288