xref: /aosp_15_r20/external/armnn/delegate/test/PadTest.cpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1*89c4ff92SAndroid Build Coastguard Worker //
2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2020, 2023 Arm Ltd and Contributors. All rights reserved.
3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT
4*89c4ff92SAndroid Build Coastguard Worker //
5*89c4ff92SAndroid Build Coastguard Worker 
6*89c4ff92SAndroid Build Coastguard Worker #include "PadTestHelper.hpp"
7*89c4ff92SAndroid Build Coastguard Worker 
8*89c4ff92SAndroid Build Coastguard Worker #include <armnn_delegate.hpp>
9*89c4ff92SAndroid Build Coastguard Worker 
10*89c4ff92SAndroid Build Coastguard Worker #include <flatbuffers/flatbuffers.h>
11*89c4ff92SAndroid Build Coastguard Worker #include <schema_generated.h>
12*89c4ff92SAndroid Build Coastguard Worker 
13*89c4ff92SAndroid Build Coastguard Worker #include <doctest/doctest.h>
14*89c4ff92SAndroid Build Coastguard Worker 
15*89c4ff92SAndroid Build Coastguard Worker namespace armnnDelegate
16*89c4ff92SAndroid Build Coastguard Worker {
17*89c4ff92SAndroid Build Coastguard Worker 
Pad2dTest(std::vector<armnn::BackendId> & backends,tflite::BuiltinOperator padOperatorCode=tflite::BuiltinOperator_PAD,float pad=0.0f)18*89c4ff92SAndroid Build Coastguard Worker void Pad2dTest(std::vector<armnn::BackendId>& backends,
19*89c4ff92SAndroid Build Coastguard Worker                tflite::BuiltinOperator padOperatorCode = tflite::BuiltinOperator_PAD,
20*89c4ff92SAndroid Build Coastguard Worker                float pad = 0.0f)
21*89c4ff92SAndroid Build Coastguard Worker {
22*89c4ff92SAndroid Build Coastguard Worker     // Set input data
23*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> inputShape { 2, 2, 2 };
24*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> outputShape { 3, 5, 6 };
25*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> paddingShape { 3, 2 };
26*89c4ff92SAndroid Build Coastguard Worker 
27*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> inputValues = { 0.0f,  4.0f,
28*89c4ff92SAndroid Build Coastguard Worker                                        2.0f, -5.0f,
29*89c4ff92SAndroid Build Coastguard Worker                                        6.0f,  1.0f,
30*89c4ff92SAndroid Build Coastguard Worker                                        5.0f, -2.0f };
31*89c4ff92SAndroid Build Coastguard Worker 
32*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> expectedOutputValues = { pad, pad, pad, pad, pad, pad,
33*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad, pad, pad,
34*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, 0.0f, 4.0f, pad, pad,
35*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, 2.0f, -5.0f, pad, pad,
36*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad, pad, pad,
37*89c4ff92SAndroid Build Coastguard Worker 
38*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad, pad, pad,
39*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad, pad, pad,
40*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, 6.0f, 1.0f, pad, pad,
41*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, 5.0f, -2.0f, pad, pad,
42*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad, pad, pad,
43*89c4ff92SAndroid Build Coastguard Worker 
44*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad, pad, pad,
45*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad, pad, pad,
46*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad, pad, pad,
47*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad, pad, pad,
48*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad, pad, pad };
49*89c4ff92SAndroid Build Coastguard Worker 
50*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> paddingDim = { 0, 1, 2, 1, 2, 2 };
51*89c4ff92SAndroid Build Coastguard Worker 
52*89c4ff92SAndroid Build Coastguard Worker     PadTest<float>(padOperatorCode,
53*89c4ff92SAndroid Build Coastguard Worker                    ::tflite::TensorType_FLOAT32,
54*89c4ff92SAndroid Build Coastguard Worker                    backends,
55*89c4ff92SAndroid Build Coastguard Worker                    inputShape,
56*89c4ff92SAndroid Build Coastguard Worker                    paddingShape,
57*89c4ff92SAndroid Build Coastguard Worker                    outputShape,
58*89c4ff92SAndroid Build Coastguard Worker                    inputValues,
59*89c4ff92SAndroid Build Coastguard Worker                    paddingDim,
60*89c4ff92SAndroid Build Coastguard Worker                    expectedOutputValues,
61*89c4ff92SAndroid Build Coastguard Worker                    pad);
62*89c4ff92SAndroid Build Coastguard Worker }
63*89c4ff92SAndroid Build Coastguard Worker 
Pad3dTest(std::vector<armnn::BackendId> & backends,tflite::BuiltinOperator padOperatorCode=tflite::BuiltinOperator_PAD,float pad=0.0f)64*89c4ff92SAndroid Build Coastguard Worker void Pad3dTest(std::vector<armnn::BackendId>& backends,
65*89c4ff92SAndroid Build Coastguard Worker                tflite::BuiltinOperator padOperatorCode = tflite::BuiltinOperator_PAD,
66*89c4ff92SAndroid Build Coastguard Worker                float pad = 0.0f)
67*89c4ff92SAndroid Build Coastguard Worker {
68*89c4ff92SAndroid Build Coastguard Worker     // Set input data
69*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> inputShape { 2, 2, 2 };
70*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> outputShape { 3, 5, 6 };
71*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> paddingShape { 3, 2 };
72*89c4ff92SAndroid Build Coastguard Worker 
73*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> inputValues = { 0.0f, 4.0f,
74*89c4ff92SAndroid Build Coastguard Worker                                        2.0f, 5.0f,
75*89c4ff92SAndroid Build Coastguard Worker                                        6.0f, 1.0f,
76*89c4ff92SAndroid Build Coastguard Worker                                        5.0f, 2.0f };
77*89c4ff92SAndroid Build Coastguard Worker 
78*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> expectedOutputValues = { pad, pad, pad, pad, pad, pad,
79*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad, pad, pad,
80*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, 0.0f, 4.0f, pad, pad,
81*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, 2.0f, 5.0f, pad, pad,
82*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad, pad, pad,
83*89c4ff92SAndroid Build Coastguard Worker 
84*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad, pad, pad,
85*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad, pad, pad,
86*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, 6.0f, 1.0f, pad, pad,
87*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, 5.0f, 2.0f, pad, pad,
88*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad, pad, pad,
89*89c4ff92SAndroid Build Coastguard Worker 
90*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad, pad, pad,
91*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad, pad, pad,
92*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad, pad, pad,
93*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad, pad, pad,
94*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad, pad, pad };
95*89c4ff92SAndroid Build Coastguard Worker 
96*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> paddingDim = { 0, 1, 2, 1, 2, 2 };
97*89c4ff92SAndroid Build Coastguard Worker 
98*89c4ff92SAndroid Build Coastguard Worker     PadTest<float>(padOperatorCode,
99*89c4ff92SAndroid Build Coastguard Worker                    ::tflite::TensorType_FLOAT32,
100*89c4ff92SAndroid Build Coastguard Worker                    backends,
101*89c4ff92SAndroid Build Coastguard Worker                    inputShape,
102*89c4ff92SAndroid Build Coastguard Worker                    paddingShape,
103*89c4ff92SAndroid Build Coastguard Worker                    outputShape,
104*89c4ff92SAndroid Build Coastguard Worker                    inputValues,
105*89c4ff92SAndroid Build Coastguard Worker                    paddingDim,
106*89c4ff92SAndroid Build Coastguard Worker                    expectedOutputValues,
107*89c4ff92SAndroid Build Coastguard Worker                    pad);
108*89c4ff92SAndroid Build Coastguard Worker }
109*89c4ff92SAndroid Build Coastguard Worker 
Pad4dTest(std::vector<armnn::BackendId> & backends,tflite::BuiltinOperator padOperatorCode=tflite::BuiltinOperator_PAD,float pad=0.0f)110*89c4ff92SAndroid Build Coastguard Worker void Pad4dTest(std::vector<armnn::BackendId>& backends,
111*89c4ff92SAndroid Build Coastguard Worker                tflite::BuiltinOperator padOperatorCode = tflite::BuiltinOperator_PAD,
112*89c4ff92SAndroid Build Coastguard Worker                float pad = 0.0f)
113*89c4ff92SAndroid Build Coastguard Worker {
114*89c4ff92SAndroid Build Coastguard Worker     // Set input data
115*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> inputShape { 2, 2, 3, 2 };
116*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> outputShape { 4, 5, 7, 4 };
117*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> paddingShape { 4, 2 };
118*89c4ff92SAndroid Build Coastguard Worker 
119*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> inputValues = { 0.0f,  1.0f,
120*89c4ff92SAndroid Build Coastguard Worker                                        2.0f,  3.0f,
121*89c4ff92SAndroid Build Coastguard Worker                                        4.0f,  5.0f,
122*89c4ff92SAndroid Build Coastguard Worker 
123*89c4ff92SAndroid Build Coastguard Worker                                        6.0f,  7.0f,
124*89c4ff92SAndroid Build Coastguard Worker                                        8.0f,  9.0f,
125*89c4ff92SAndroid Build Coastguard Worker                                        10.0f, 11.0f,
126*89c4ff92SAndroid Build Coastguard Worker 
127*89c4ff92SAndroid Build Coastguard Worker                                        12.0f, 13.0f,
128*89c4ff92SAndroid Build Coastguard Worker                                        14.0f, 15.0f,
129*89c4ff92SAndroid Build Coastguard Worker                                        16.0f, 17.0f,
130*89c4ff92SAndroid Build Coastguard Worker 
131*89c4ff92SAndroid Build Coastguard Worker                                        18.0f, 19.0f,
132*89c4ff92SAndroid Build Coastguard Worker                                        20.0f, 21.0f,
133*89c4ff92SAndroid Build Coastguard Worker                                        22.0f, 23.0f };
134*89c4ff92SAndroid Build Coastguard Worker 
135*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> expectedOutputValues = { pad, pad, pad, pad,
136*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
137*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
138*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
139*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
140*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
141*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
142*89c4ff92SAndroid Build Coastguard Worker 
143*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
144*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
145*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
146*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
147*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
148*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
149*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
150*89c4ff92SAndroid Build Coastguard Worker 
151*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
152*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
153*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
154*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
155*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
156*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
157*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
158*89c4ff92SAndroid Build Coastguard Worker 
159*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
160*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
161*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
162*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
163*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
164*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
165*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
166*89c4ff92SAndroid Build Coastguard Worker 
167*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
168*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
169*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
170*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
171*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
172*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
173*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
174*89c4ff92SAndroid Build Coastguard Worker 
175*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
176*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
177*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
178*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
179*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
180*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
181*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
182*89c4ff92SAndroid Build Coastguard Worker 
183*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
184*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
185*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
186*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
187*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
188*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
189*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
190*89c4ff92SAndroid Build Coastguard Worker 
191*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
192*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
193*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
194*89c4ff92SAndroid Build Coastguard Worker                                                 pad, 0.0f, 1.0f, pad,
195*89c4ff92SAndroid Build Coastguard Worker                                                 pad, 2.0f, 3.0f, pad,
196*89c4ff92SAndroid Build Coastguard Worker                                                 pad, 4.0f, 5.0f, pad,
197*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
198*89c4ff92SAndroid Build Coastguard Worker 
199*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
200*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
201*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
202*89c4ff92SAndroid Build Coastguard Worker                                                 pad, 6.0f, 7.0f, pad,
203*89c4ff92SAndroid Build Coastguard Worker                                                 pad, 8.0f, 9.0f, pad,
204*89c4ff92SAndroid Build Coastguard Worker                                                 pad, 10.0f, 11.0f, pad,
205*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
206*89c4ff92SAndroid Build Coastguard Worker 
207*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
208*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
209*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
210*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
211*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
212*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
213*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
214*89c4ff92SAndroid Build Coastguard Worker 
215*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
216*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
217*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
218*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
219*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
220*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
221*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
222*89c4ff92SAndroid Build Coastguard Worker 
223*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
224*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
225*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
226*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
227*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
228*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
229*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
230*89c4ff92SAndroid Build Coastguard Worker 
231*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
232*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
233*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
234*89c4ff92SAndroid Build Coastguard Worker                                                 pad, 12.0f, 13.0f, pad,
235*89c4ff92SAndroid Build Coastguard Worker                                                 pad, 14.0f, 15.0f, pad,
236*89c4ff92SAndroid Build Coastguard Worker                                                 pad, 16.0f, 17.0f, pad,
237*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
238*89c4ff92SAndroid Build Coastguard Worker 
239*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
240*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
241*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
242*89c4ff92SAndroid Build Coastguard Worker                                                 pad, 18.0f, 19.0f, pad,
243*89c4ff92SAndroid Build Coastguard Worker                                                 pad, 20.0f, 21.0f, pad,
244*89c4ff92SAndroid Build Coastguard Worker                                                 pad, 22.0f, 23.0f, pad,
245*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
246*89c4ff92SAndroid Build Coastguard Worker 
247*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
248*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
249*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
250*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
251*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
252*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
253*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
254*89c4ff92SAndroid Build Coastguard Worker 
255*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
256*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
257*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
258*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
259*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
260*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
261*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
262*89c4ff92SAndroid Build Coastguard Worker 
263*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
264*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
265*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
266*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
267*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
268*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
269*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
270*89c4ff92SAndroid Build Coastguard Worker 
271*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
272*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
273*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
274*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
275*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
276*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
277*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
278*89c4ff92SAndroid Build Coastguard Worker 
279*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
280*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
281*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
282*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
283*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
284*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
285*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
286*89c4ff92SAndroid Build Coastguard Worker 
287*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
288*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
289*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
290*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
291*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
292*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad,
293*89c4ff92SAndroid Build Coastguard Worker                                                 pad, pad, pad, pad };
294*89c4ff92SAndroid Build Coastguard Worker 
295*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> paddingDim = { 1, 1, 2, 1, 3, 1, 1, 1 };
296*89c4ff92SAndroid Build Coastguard Worker 
297*89c4ff92SAndroid Build Coastguard Worker     PadTest<float>(padOperatorCode,
298*89c4ff92SAndroid Build Coastguard Worker                    ::tflite::TensorType_FLOAT32,
299*89c4ff92SAndroid Build Coastguard Worker                    backends,
300*89c4ff92SAndroid Build Coastguard Worker                    inputShape,
301*89c4ff92SAndroid Build Coastguard Worker                    paddingShape,
302*89c4ff92SAndroid Build Coastguard Worker                    outputShape,
303*89c4ff92SAndroid Build Coastguard Worker                    inputValues,
304*89c4ff92SAndroid Build Coastguard Worker                    paddingDim,
305*89c4ff92SAndroid Build Coastguard Worker                    expectedOutputValues,
306*89c4ff92SAndroid Build Coastguard Worker                    pad);
307*89c4ff92SAndroid Build Coastguard Worker }
308*89c4ff92SAndroid Build Coastguard Worker 
PadInt8Test(std::vector<armnn::BackendId> & backends,tflite::BuiltinOperator padOperatorCode=tflite::BuiltinOperator_PAD,int8_t paddingValue=0,int8_t p=3,float quantizationScale=-2.0f,int32_t quantizationOffset=3)309*89c4ff92SAndroid Build Coastguard Worker void PadInt8Test(std::vector<armnn::BackendId>& backends,
310*89c4ff92SAndroid Build Coastguard Worker                  tflite::BuiltinOperator padOperatorCode = tflite::BuiltinOperator_PAD,
311*89c4ff92SAndroid Build Coastguard Worker                  int8_t paddingValue = 0,
312*89c4ff92SAndroid Build Coastguard Worker                  int8_t p = 3,
313*89c4ff92SAndroid Build Coastguard Worker                  float quantizationScale = -2.0f,
314*89c4ff92SAndroid Build Coastguard Worker                  int32_t quantizationOffset = 3)
315*89c4ff92SAndroid Build Coastguard Worker {
316*89c4ff92SAndroid Build Coastguard Worker     // Set input data
317*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> inputShape { 2, 2, 2 };
318*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> outputShape { 3, 5, 6 };
319*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> paddingShape { 3, 2 };
320*89c4ff92SAndroid Build Coastguard Worker 
321*89c4ff92SAndroid Build Coastguard Worker     std::vector<int8_t> inputValues = { 0,  4,
322*89c4ff92SAndroid Build Coastguard Worker                                         2, -5,
323*89c4ff92SAndroid Build Coastguard Worker                                         6,  1,
324*89c4ff92SAndroid Build Coastguard Worker                                         5, -2 };
325*89c4ff92SAndroid Build Coastguard Worker 
326*89c4ff92SAndroid Build Coastguard Worker     std::vector<int8_t> expectedOutputValues = { p, p, p, p, p, p,
327*89c4ff92SAndroid Build Coastguard Worker                                                  p, p, p, p, p, p,
328*89c4ff92SAndroid Build Coastguard Worker                                                  p, p, 0, 4, p, p,
329*89c4ff92SAndroid Build Coastguard Worker                                                  p, p, 2, -5, p, p,
330*89c4ff92SAndroid Build Coastguard Worker                                                  p, p, p, p, p, p,
331*89c4ff92SAndroid Build Coastguard Worker 
332*89c4ff92SAndroid Build Coastguard Worker                                                  p, p, p, p, p, p,
333*89c4ff92SAndroid Build Coastguard Worker                                                  p, p, p, p, p, p,
334*89c4ff92SAndroid Build Coastguard Worker                                                  p, p, 6, 1, p, p,
335*89c4ff92SAndroid Build Coastguard Worker                                                  p, p, 5, -2, p, p,
336*89c4ff92SAndroid Build Coastguard Worker                                                  p, p, p, p, p, p,
337*89c4ff92SAndroid Build Coastguard Worker 
338*89c4ff92SAndroid Build Coastguard Worker                                                  p, p, p, p, p, p,
339*89c4ff92SAndroid Build Coastguard Worker                                                  p, p, p, p, p, p,
340*89c4ff92SAndroid Build Coastguard Worker                                                  p, p, p, p, p, p,
341*89c4ff92SAndroid Build Coastguard Worker                                                  p, p, p, p, p, p,
342*89c4ff92SAndroid Build Coastguard Worker                                                  p, p, p, p, p, p };
343*89c4ff92SAndroid Build Coastguard Worker 
344*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> paddingDim = { 0, 1, 2, 1, 2, 2 };
345*89c4ff92SAndroid Build Coastguard Worker 
346*89c4ff92SAndroid Build Coastguard Worker     PadTest<int8_t>(padOperatorCode,
347*89c4ff92SAndroid Build Coastguard Worker                     ::tflite::TensorType_INT8,
348*89c4ff92SAndroid Build Coastguard Worker                     backends,
349*89c4ff92SAndroid Build Coastguard Worker                     inputShape,
350*89c4ff92SAndroid Build Coastguard Worker                     paddingShape,
351*89c4ff92SAndroid Build Coastguard Worker                     outputShape,
352*89c4ff92SAndroid Build Coastguard Worker                     inputValues,
353*89c4ff92SAndroid Build Coastguard Worker                     paddingDim,
354*89c4ff92SAndroid Build Coastguard Worker                     expectedOutputValues,
355*89c4ff92SAndroid Build Coastguard Worker                     paddingValue,
356*89c4ff92SAndroid Build Coastguard Worker                     quantizationScale,
357*89c4ff92SAndroid Build Coastguard Worker                     quantizationOffset);
358*89c4ff92SAndroid Build Coastguard Worker }
359*89c4ff92SAndroid Build Coastguard Worker 
PadUint8Test(std::vector<armnn::BackendId> & backends,tflite::BuiltinOperator padOperatorCode=tflite::BuiltinOperator_PAD,uint8_t paddingValue=0,uint8_t p=3,float quantizationScale=-2.0f,int32_t quantizationOffset=3)360*89c4ff92SAndroid Build Coastguard Worker void PadUint8Test(std::vector<armnn::BackendId>& backends,
361*89c4ff92SAndroid Build Coastguard Worker                   tflite::BuiltinOperator padOperatorCode = tflite::BuiltinOperator_PAD,
362*89c4ff92SAndroid Build Coastguard Worker                   uint8_t paddingValue = 0,
363*89c4ff92SAndroid Build Coastguard Worker                   uint8_t p = 3,
364*89c4ff92SAndroid Build Coastguard Worker                   float quantizationScale = -2.0f,
365*89c4ff92SAndroid Build Coastguard Worker                   int32_t quantizationOffset = 3)
366*89c4ff92SAndroid Build Coastguard Worker {
367*89c4ff92SAndroid Build Coastguard Worker     // Set input data
368*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> inputShape { 2, 2, 2 };
369*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> outputShape { 3, 5, 6 };
370*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> paddingShape { 3, 2 };
371*89c4ff92SAndroid Build Coastguard Worker 
372*89c4ff92SAndroid Build Coastguard Worker     std::vector<uint8_t> inputValues = { 0, 4,
373*89c4ff92SAndroid Build Coastguard Worker                                          2, 5,
374*89c4ff92SAndroid Build Coastguard Worker                                          6, 1,
375*89c4ff92SAndroid Build Coastguard Worker                                          5, 2 };
376*89c4ff92SAndroid Build Coastguard Worker 
377*89c4ff92SAndroid Build Coastguard Worker     std::vector<uint8_t> expectedOutputValues = { p, p, p, p, p, p,
378*89c4ff92SAndroid Build Coastguard Worker                                                   p, p, p, p, p, p,
379*89c4ff92SAndroid Build Coastguard Worker                                                   p, p, 0, 4, p, p,
380*89c4ff92SAndroid Build Coastguard Worker                                                   p, p, 2, 5, p, p,
381*89c4ff92SAndroid Build Coastguard Worker                                                   p, p, p, p, p, p,
382*89c4ff92SAndroid Build Coastguard Worker 
383*89c4ff92SAndroid Build Coastguard Worker                                                   p, p, p, p, p, p,
384*89c4ff92SAndroid Build Coastguard Worker                                                   p, p, p, p, p, p,
385*89c4ff92SAndroid Build Coastguard Worker                                                   p, p, 6, 1, p, p,
386*89c4ff92SAndroid Build Coastguard Worker                                                   p, p, 5, 2, p, p,
387*89c4ff92SAndroid Build Coastguard Worker                                                   p, p, p, p, p, p,
388*89c4ff92SAndroid Build Coastguard Worker 
389*89c4ff92SAndroid Build Coastguard Worker                                                   p, p, p, p, p, p,
390*89c4ff92SAndroid Build Coastguard Worker                                                   p, p, p, p, p, p,
391*89c4ff92SAndroid Build Coastguard Worker                                                   p, p, p, p, p, p,
392*89c4ff92SAndroid Build Coastguard Worker                                                   p, p, p, p, p, p,
393*89c4ff92SAndroid Build Coastguard Worker                                                   p, p, p, p, p, p };
394*89c4ff92SAndroid Build Coastguard Worker 
395*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> paddingDim = { 0, 1, 2, 1, 2, 2 };
396*89c4ff92SAndroid Build Coastguard Worker 
397*89c4ff92SAndroid Build Coastguard Worker     PadTest<uint8_t>(padOperatorCode,
398*89c4ff92SAndroid Build Coastguard Worker                      ::tflite::TensorType_UINT8,
399*89c4ff92SAndroid Build Coastguard Worker                      backends,
400*89c4ff92SAndroid Build Coastguard Worker                      inputShape,
401*89c4ff92SAndroid Build Coastguard Worker                      paddingShape,
402*89c4ff92SAndroid Build Coastguard Worker                      outputShape,
403*89c4ff92SAndroid Build Coastguard Worker                      inputValues,
404*89c4ff92SAndroid Build Coastguard Worker                      paddingDim,
405*89c4ff92SAndroid Build Coastguard Worker                      expectedOutputValues,
406*89c4ff92SAndroid Build Coastguard Worker                      paddingValue,
407*89c4ff92SAndroid Build Coastguard Worker                      quantizationScale,
408*89c4ff92SAndroid Build Coastguard Worker                      quantizationOffset);
409*89c4ff92SAndroid Build Coastguard Worker }
410*89c4ff92SAndroid Build Coastguard Worker 
411*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("Pad_CpuRefTests")
412*89c4ff92SAndroid Build Coastguard Worker {
413*89c4ff92SAndroid Build Coastguard Worker 
414*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Pad2d_CpuRef_Test")
415*89c4ff92SAndroid Build Coastguard Worker {
416*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
417*89c4ff92SAndroid Build Coastguard Worker     Pad2dTest(backends);
418*89c4ff92SAndroid Build Coastguard Worker }
419*89c4ff92SAndroid Build Coastguard Worker 
420*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Pad3d_CpuRef_Test")
421*89c4ff92SAndroid Build Coastguard Worker {
422*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
423*89c4ff92SAndroid Build Coastguard Worker     Pad3dTest(backends);
424*89c4ff92SAndroid Build Coastguard Worker }
425*89c4ff92SAndroid Build Coastguard Worker 
426*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Pad4d_CpuRef_Test")
427*89c4ff92SAndroid Build Coastguard Worker {
428*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
429*89c4ff92SAndroid Build Coastguard Worker     Pad4dTest(backends);
430*89c4ff92SAndroid Build Coastguard Worker }
431*89c4ff92SAndroid Build Coastguard Worker 
432*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Pad_Int8_CpuRef_Test")
433*89c4ff92SAndroid Build Coastguard Worker {
434*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
435*89c4ff92SAndroid Build Coastguard Worker     PadInt8Test(backends);
436*89c4ff92SAndroid Build Coastguard Worker }
437*89c4ff92SAndroid Build Coastguard Worker 
438*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Pad_Uint8_CpuRef_Test")
439*89c4ff92SAndroid Build Coastguard Worker {
440*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
441*89c4ff92SAndroid Build Coastguard Worker     PadUint8Test(backends);
442*89c4ff92SAndroid Build Coastguard Worker }
443*89c4ff92SAndroid Build Coastguard Worker 
444*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("PadV22d_CpuRef_Test")
445*89c4ff92SAndroid Build Coastguard Worker {
446*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
447*89c4ff92SAndroid Build Coastguard Worker     Pad2dTest(backends, tflite::BuiltinOperator_PADV2, -2.5);
448*89c4ff92SAndroid Build Coastguard Worker }
449*89c4ff92SAndroid Build Coastguard Worker 
450*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("PadV23d_CpuRef_Test")
451*89c4ff92SAndroid Build Coastguard Worker {
452*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
453*89c4ff92SAndroid Build Coastguard Worker     Pad3dTest(backends, tflite::BuiltinOperator_PADV2, 2.0);
454*89c4ff92SAndroid Build Coastguard Worker }
455*89c4ff92SAndroid Build Coastguard Worker 
456*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("PadV24d_CpuRef_Test")
457*89c4ff92SAndroid Build Coastguard Worker {
458*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
459*89c4ff92SAndroid Build Coastguard Worker     Pad4dTest(backends, tflite::BuiltinOperator_PADV2, -1.33);
460*89c4ff92SAndroid Build Coastguard Worker }
461*89c4ff92SAndroid Build Coastguard Worker 
462*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("PadV2_Int8_CpuRef_Test")
463*89c4ff92SAndroid Build Coastguard Worker {
464*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
465*89c4ff92SAndroid Build Coastguard Worker     PadInt8Test(backends, tflite::BuiltinOperator_PADV2, -1, -1);
466*89c4ff92SAndroid Build Coastguard Worker }
467*89c4ff92SAndroid Build Coastguard Worker 
468*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("PadV2_Uint8_CpuRef_Test")
469*89c4ff92SAndroid Build Coastguard Worker {
470*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
471*89c4ff92SAndroid Build Coastguard Worker     PadUint8Test(backends, tflite::BuiltinOperator_PADV2, -1, -1);
472*89c4ff92SAndroid Build Coastguard Worker }
473*89c4ff92SAndroid Build Coastguard Worker 
474*89c4ff92SAndroid Build Coastguard Worker } // TEST_SUITE("Pad_CpuRefTests")
475*89c4ff92SAndroid Build Coastguard Worker 
476*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("Pad_CpuAccTests")
477*89c4ff92SAndroid Build Coastguard Worker {
478*89c4ff92SAndroid Build Coastguard Worker 
479*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Pad2d_CpuAcc_Test")
480*89c4ff92SAndroid Build Coastguard Worker {
481*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
482*89c4ff92SAndroid Build Coastguard Worker     Pad2dTest(backends);
483*89c4ff92SAndroid Build Coastguard Worker }
484*89c4ff92SAndroid Build Coastguard Worker 
485*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Pad3d_CpuAcc_Test")
486*89c4ff92SAndroid Build Coastguard Worker {
487*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
488*89c4ff92SAndroid Build Coastguard Worker     Pad3dTest(backends);
489*89c4ff92SAndroid Build Coastguard Worker }
490*89c4ff92SAndroid Build Coastguard Worker 
491*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Pad4d_CpuAcc_Test")
492*89c4ff92SAndroid Build Coastguard Worker {
493*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
494*89c4ff92SAndroid Build Coastguard Worker     Pad4dTest(backends);
495*89c4ff92SAndroid Build Coastguard Worker }
496*89c4ff92SAndroid Build Coastguard Worker 
497*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Pad_Int8_CpuAcc_Test")
498*89c4ff92SAndroid Build Coastguard Worker {
499*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
500*89c4ff92SAndroid Build Coastguard Worker     PadInt8Test(backends);
501*89c4ff92SAndroid Build Coastguard Worker }
502*89c4ff92SAndroid Build Coastguard Worker 
503*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Pad_Uint8_CpuAcc_Test")
504*89c4ff92SAndroid Build Coastguard Worker {
505*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
506*89c4ff92SAndroid Build Coastguard Worker     PadUint8Test(backends);
507*89c4ff92SAndroid Build Coastguard Worker }
508*89c4ff92SAndroid Build Coastguard Worker 
509*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("PadV22d_CpuAcc_Test")
510*89c4ff92SAndroid Build Coastguard Worker {
511*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
512*89c4ff92SAndroid Build Coastguard Worker     Pad2dTest(backends, tflite::BuiltinOperator_PADV2, -2.5);
513*89c4ff92SAndroid Build Coastguard Worker }
514*89c4ff92SAndroid Build Coastguard Worker 
515*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("PadV23d_CpuAcc_Test")
516*89c4ff92SAndroid Build Coastguard Worker {
517*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
518*89c4ff92SAndroid Build Coastguard Worker     Pad3dTest(backends, tflite::BuiltinOperator_PADV2, 2.0);
519*89c4ff92SAndroid Build Coastguard Worker }
520*89c4ff92SAndroid Build Coastguard Worker 
521*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("PadV24d_CpuAcc_Test")
522*89c4ff92SAndroid Build Coastguard Worker {
523*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
524*89c4ff92SAndroid Build Coastguard Worker     Pad4dTest(backends, tflite::BuiltinOperator_PADV2, -1.33);
525*89c4ff92SAndroid Build Coastguard Worker }
526*89c4ff92SAndroid Build Coastguard Worker 
527*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("PadV2_Int8_CpuAcc_Test")
528*89c4ff92SAndroid Build Coastguard Worker {
529*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
530*89c4ff92SAndroid Build Coastguard Worker     PadInt8Test(backends, tflite::BuiltinOperator_PADV2, -1, -1);
531*89c4ff92SAndroid Build Coastguard Worker }
532*89c4ff92SAndroid Build Coastguard Worker 
533*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("PadV2_Uint8_CpuAcc_Test")
534*89c4ff92SAndroid Build Coastguard Worker {
535*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
536*89c4ff92SAndroid Build Coastguard Worker     PadUint8Test(backends, tflite::BuiltinOperator_PADV2, -1, -1);
537*89c4ff92SAndroid Build Coastguard Worker }
538*89c4ff92SAndroid Build Coastguard Worker 
539*89c4ff92SAndroid Build Coastguard Worker } // TEST_SUITE("Pad_CpuAccTests")
540*89c4ff92SAndroid Build Coastguard Worker 
541*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("Pad_GpuAccTests")
542*89c4ff92SAndroid Build Coastguard Worker {
543*89c4ff92SAndroid Build Coastguard Worker 
544*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Pad2d_GpuAcc_Test")
545*89c4ff92SAndroid Build Coastguard Worker {
546*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
547*89c4ff92SAndroid Build Coastguard Worker     Pad2dTest(backends);
548*89c4ff92SAndroid Build Coastguard Worker }
549*89c4ff92SAndroid Build Coastguard Worker 
550*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Pad3d_GpuAcc_Test")
551*89c4ff92SAndroid Build Coastguard Worker {
552*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
553*89c4ff92SAndroid Build Coastguard Worker     Pad3dTest(backends);
554*89c4ff92SAndroid Build Coastguard Worker }
555*89c4ff92SAndroid Build Coastguard Worker 
556*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Pad4d_GpuAcc_Test")
557*89c4ff92SAndroid Build Coastguard Worker {
558*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
559*89c4ff92SAndroid Build Coastguard Worker     Pad4dTest(backends);
560*89c4ff92SAndroid Build Coastguard Worker }
561*89c4ff92SAndroid Build Coastguard Worker 
562*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Pad_Int8_GpuAcc_Test")
563*89c4ff92SAndroid Build Coastguard Worker {
564*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
565*89c4ff92SAndroid Build Coastguard Worker     PadInt8Test(backends);
566*89c4ff92SAndroid Build Coastguard Worker }
567*89c4ff92SAndroid Build Coastguard Worker 
568*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Pad_Uint8_GpuAcc_Test")
569*89c4ff92SAndroid Build Coastguard Worker {
570*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
571*89c4ff92SAndroid Build Coastguard Worker     PadUint8Test(backends);
572*89c4ff92SAndroid Build Coastguard Worker }
573*89c4ff92SAndroid Build Coastguard Worker 
574*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("PadV22d_GpuAcc_Test")
575*89c4ff92SAndroid Build Coastguard Worker {
576*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
577*89c4ff92SAndroid Build Coastguard Worker     Pad2dTest(backends, tflite::BuiltinOperator_PADV2, -2.5);
578*89c4ff92SAndroid Build Coastguard Worker }
579*89c4ff92SAndroid Build Coastguard Worker 
580*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("PadV23d_GpuAcc_Test")
581*89c4ff92SAndroid Build Coastguard Worker {
582*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
583*89c4ff92SAndroid Build Coastguard Worker     Pad3dTest(backends, tflite::BuiltinOperator_PADV2, 2.0);
584*89c4ff92SAndroid Build Coastguard Worker }
585*89c4ff92SAndroid Build Coastguard Worker 
586*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("PadV24d_GpuAcc_Test")
587*89c4ff92SAndroid Build Coastguard Worker {
588*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
589*89c4ff92SAndroid Build Coastguard Worker     Pad4dTest(backends, tflite::BuiltinOperator_PADV2, -1.33);
590*89c4ff92SAndroid Build Coastguard Worker }
591*89c4ff92SAndroid Build Coastguard Worker 
592*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("PadV2_Int8_GpuAcc_Test")
593*89c4ff92SAndroid Build Coastguard Worker {
594*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
595*89c4ff92SAndroid Build Coastguard Worker     PadInt8Test(backends, tflite::BuiltinOperator_PADV2, -1, -1);
596*89c4ff92SAndroid Build Coastguard Worker }
597*89c4ff92SAndroid Build Coastguard Worker 
598*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("PadV2_Uint8_GpuAcc_Test")
599*89c4ff92SAndroid Build Coastguard Worker {
600*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
601*89c4ff92SAndroid Build Coastguard Worker     PadUint8Test(backends, tflite::BuiltinOperator_PADV2, -1, -1);
602*89c4ff92SAndroid Build Coastguard Worker }
603*89c4ff92SAndroid Build Coastguard Worker 
604*89c4ff92SAndroid Build Coastguard Worker } // TEST_SUITE("Pad_GpuAccTests")
605*89c4ff92SAndroid Build Coastguard Worker 
606*89c4ff92SAndroid Build Coastguard Worker } // namespace armnnDelegate