xref: /aosp_15_r20/external/XNNPACK/test/space-to-depth-nhwc.cc (revision 4bdc94577ba0e567308109d787f7fec7b531ce36)
1*4bdc9457SAndroid Build Coastguard Worker // Copyright 2022 Google LLC
2*4bdc9457SAndroid Build Coastguard Worker //
3*4bdc9457SAndroid Build Coastguard Worker // This source code is licensed under the BSD-style license found in the
4*4bdc9457SAndroid Build Coastguard Worker // LICENSE file in the root directory of this source tree.
5*4bdc9457SAndroid Build Coastguard Worker 
6*4bdc9457SAndroid Build Coastguard Worker #include "space-to-depth-operator-tester.h"
7*4bdc9457SAndroid Build Coastguard Worker 
8*4bdc9457SAndroid Build Coastguard Worker #include <gtest/gtest.h>
9*4bdc9457SAndroid Build Coastguard Worker 
10*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X8,one_output_pixel)11*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X8, one_output_pixel) {
12*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
13*4bdc9457SAndroid Build Coastguard Worker   SpaceToDepthOperatorTester()
14*4bdc9457SAndroid Build Coastguard Worker     .input_size(block_size, block_size)
15*4bdc9457SAndroid Build Coastguard Worker     .block_size(block_size)
16*4bdc9457SAndroid Build Coastguard Worker     .input_channels(17)
17*4bdc9457SAndroid Build Coastguard Worker     .TestNHWCxX8();
18*4bdc9457SAndroid Build Coastguard Worker }
19*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X8,one_column)20*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X8, one_column) {
21*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
22*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 2; input_height <= 7; input_height++) {
23*4bdc9457SAndroid Build Coastguard Worker     SpaceToDepthOperatorTester()
24*4bdc9457SAndroid Build Coastguard Worker       .input_size(input_height * block_size, block_size)
25*4bdc9457SAndroid Build Coastguard Worker       .block_size(block_size)
26*4bdc9457SAndroid Build Coastguard Worker       .input_channels(17)
27*4bdc9457SAndroid Build Coastguard Worker       .TestNHWCxX8();
28*4bdc9457SAndroid Build Coastguard Worker   }
29*4bdc9457SAndroid Build Coastguard Worker }
30*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X8,one_row)31*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X8, one_row) {
32*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
33*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_width = 2; input_width <= 7; input_width++) {
34*4bdc9457SAndroid Build Coastguard Worker     SpaceToDepthOperatorTester()
35*4bdc9457SAndroid Build Coastguard Worker       .input_size(block_size, input_width * block_size)
36*4bdc9457SAndroid Build Coastguard Worker       .block_size(block_size)
37*4bdc9457SAndroid Build Coastguard Worker       .input_channels(17)
38*4bdc9457SAndroid Build Coastguard Worker       .TestNHWCxX8();
39*4bdc9457SAndroid Build Coastguard Worker   }
40*4bdc9457SAndroid Build Coastguard Worker }
41*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X8,varying_input_size)42*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X8, varying_input_size) {
43*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
44*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 1; input_height <= 5; input_height++) {
45*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = 1; input_width <= 5; input_width++) {
46*4bdc9457SAndroid Build Coastguard Worker       SpaceToDepthOperatorTester()
47*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height * block_size, input_width * block_size)
48*4bdc9457SAndroid Build Coastguard Worker         .block_size(block_size)
49*4bdc9457SAndroid Build Coastguard Worker         .input_channels(17)
50*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxX8();
51*4bdc9457SAndroid Build Coastguard Worker     }
52*4bdc9457SAndroid Build Coastguard Worker   }
53*4bdc9457SAndroid Build Coastguard Worker }
54*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X8,varying_block_size)55*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X8, varying_block_size) {
56*4bdc9457SAndroid Build Coastguard Worker   for (uint32_t block_size = 2; block_size <= 5; block_size++) {
57*4bdc9457SAndroid Build Coastguard Worker     SpaceToDepthOperatorTester()
58*4bdc9457SAndroid Build Coastguard Worker       .input_size(7 * block_size, 5 * block_size)
59*4bdc9457SAndroid Build Coastguard Worker       .block_size(block_size)
60*4bdc9457SAndroid Build Coastguard Worker       .input_channels(17)
61*4bdc9457SAndroid Build Coastguard Worker       .TestNHWCxX8();
62*4bdc9457SAndroid Build Coastguard Worker   }
63*4bdc9457SAndroid Build Coastguard Worker }
64*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X8,varying_input_channels)65*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X8, varying_input_channels) {
66*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
67*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_channels = 1; input_channels <= 15; input_channels++) {
68*4bdc9457SAndroid Build Coastguard Worker     SpaceToDepthOperatorTester()
69*4bdc9457SAndroid Build Coastguard Worker       .input_size(7 * block_size, 5 * block_size)
70*4bdc9457SAndroid Build Coastguard Worker       .block_size(block_size)
71*4bdc9457SAndroid Build Coastguard Worker       .input_channels(input_channels)
72*4bdc9457SAndroid Build Coastguard Worker       .TestNHWCxX8();
73*4bdc9457SAndroid Build Coastguard Worker   }
74*4bdc9457SAndroid Build Coastguard Worker }
75*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X8,varying_batch_size)76*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X8, varying_batch_size) {
77*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
78*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
79*4bdc9457SAndroid Build Coastguard Worker     SpaceToDepthOperatorTester()
80*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
81*4bdc9457SAndroid Build Coastguard Worker       .input_size(7 * block_size, 5 * block_size)
82*4bdc9457SAndroid Build Coastguard Worker       .block_size(block_size)
83*4bdc9457SAndroid Build Coastguard Worker       .input_channels(17)
84*4bdc9457SAndroid Build Coastguard Worker       .TestNHWCxX8();
85*4bdc9457SAndroid Build Coastguard Worker   }
86*4bdc9457SAndroid Build Coastguard Worker }
87*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X8,input_channels_stride)88*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X8, input_channels_stride) {
89*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
90*4bdc9457SAndroid Build Coastguard Worker   SpaceToDepthOperatorTester()
91*4bdc9457SAndroid Build Coastguard Worker     .batch_size(1)
92*4bdc9457SAndroid Build Coastguard Worker     .input_size(7 * block_size, 5 * block_size)
93*4bdc9457SAndroid Build Coastguard Worker     .block_size(block_size)
94*4bdc9457SAndroid Build Coastguard Worker     .input_channels_stride(10)
95*4bdc9457SAndroid Build Coastguard Worker     .input_channels(9)
96*4bdc9457SAndroid Build Coastguard Worker     .TestNHWCxX8();
97*4bdc9457SAndroid Build Coastguard Worker }
98*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X8,output_channels_stride)99*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X8, output_channels_stride) {
100*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
101*4bdc9457SAndroid Build Coastguard Worker   SpaceToDepthOperatorTester()
102*4bdc9457SAndroid Build Coastguard Worker     .batch_size(2)
103*4bdc9457SAndroid Build Coastguard Worker     .input_size(7 * block_size, 5 * block_size)
104*4bdc9457SAndroid Build Coastguard Worker     .block_size(block_size)
105*4bdc9457SAndroid Build Coastguard Worker     .output_channels_stride(171)
106*4bdc9457SAndroid Build Coastguard Worker     .input_channels(17)
107*4bdc9457SAndroid Build Coastguard Worker     .TestNHWCxX8();
108*4bdc9457SAndroid Build Coastguard Worker }
109*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X16,one_output_pixel)110*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X16, one_output_pixel) {
111*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
112*4bdc9457SAndroid Build Coastguard Worker   SpaceToDepthOperatorTester()
113*4bdc9457SAndroid Build Coastguard Worker     .input_size(block_size, block_size)
114*4bdc9457SAndroid Build Coastguard Worker     .block_size(block_size)
115*4bdc9457SAndroid Build Coastguard Worker     .input_channels(17)
116*4bdc9457SAndroid Build Coastguard Worker     .TestNHWCxX16();
117*4bdc9457SAndroid Build Coastguard Worker }
118*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X16,one_column)119*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X16, one_column) {
120*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
121*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 2; input_height <= 7; input_height++) {
122*4bdc9457SAndroid Build Coastguard Worker     SpaceToDepthOperatorTester()
123*4bdc9457SAndroid Build Coastguard Worker       .input_size(input_height * block_size, block_size)
124*4bdc9457SAndroid Build Coastguard Worker       .block_size(block_size)
125*4bdc9457SAndroid Build Coastguard Worker       .input_channels(17)
126*4bdc9457SAndroid Build Coastguard Worker       .TestNHWCxX16();
127*4bdc9457SAndroid Build Coastguard Worker   }
128*4bdc9457SAndroid Build Coastguard Worker }
129*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X16,one_row)130*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X16, one_row) {
131*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
132*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_width = 2; input_width <= 7; input_width++) {
133*4bdc9457SAndroid Build Coastguard Worker     SpaceToDepthOperatorTester()
134*4bdc9457SAndroid Build Coastguard Worker       .input_size(block_size, input_width * block_size)
135*4bdc9457SAndroid Build Coastguard Worker       .block_size(block_size)
136*4bdc9457SAndroid Build Coastguard Worker       .input_channels(17)
137*4bdc9457SAndroid Build Coastguard Worker       .TestNHWCxX16();
138*4bdc9457SAndroid Build Coastguard Worker   }
139*4bdc9457SAndroid Build Coastguard Worker }
140*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X16,varying_input_size)141*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X16, varying_input_size) {
142*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
143*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 1; input_height <= 5; input_height++) {
144*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = 1; input_width <= 5; input_width++) {
145*4bdc9457SAndroid Build Coastguard Worker       SpaceToDepthOperatorTester()
146*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height * block_size, input_width * block_size)
147*4bdc9457SAndroid Build Coastguard Worker         .block_size(block_size)
148*4bdc9457SAndroid Build Coastguard Worker         .input_channels(17)
149*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxX16();
150*4bdc9457SAndroid Build Coastguard Worker     }
151*4bdc9457SAndroid Build Coastguard Worker   }
152*4bdc9457SAndroid Build Coastguard Worker }
153*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X16,varying_block_size)154*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X16, varying_block_size) {
155*4bdc9457SAndroid Build Coastguard Worker   for (uint32_t block_size = 2; block_size <= 5; block_size++) {
156*4bdc9457SAndroid Build Coastguard Worker     SpaceToDepthOperatorTester()
157*4bdc9457SAndroid Build Coastguard Worker       .input_size(7 * block_size, 5 * block_size)
158*4bdc9457SAndroid Build Coastguard Worker       .block_size(block_size)
159*4bdc9457SAndroid Build Coastguard Worker       .input_channels(17)
160*4bdc9457SAndroid Build Coastguard Worker       .TestNHWCxX16();
161*4bdc9457SAndroid Build Coastguard Worker   }
162*4bdc9457SAndroid Build Coastguard Worker }
163*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X16,varying_input_channels)164*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X16, varying_input_channels) {
165*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
166*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_channels = 1; input_channels <= 15; input_channels++) {
167*4bdc9457SAndroid Build Coastguard Worker     SpaceToDepthOperatorTester()
168*4bdc9457SAndroid Build Coastguard Worker       .input_size(7 * block_size, 5 * block_size)
169*4bdc9457SAndroid Build Coastguard Worker       .block_size(block_size)
170*4bdc9457SAndroid Build Coastguard Worker       .input_channels(input_channels)
171*4bdc9457SAndroid Build Coastguard Worker       .TestNHWCxX16();
172*4bdc9457SAndroid Build Coastguard Worker   }
173*4bdc9457SAndroid Build Coastguard Worker }
174*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X16,varying_batch_size)175*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X16, varying_batch_size) {
176*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
177*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
178*4bdc9457SAndroid Build Coastguard Worker     SpaceToDepthOperatorTester()
179*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
180*4bdc9457SAndroid Build Coastguard Worker       .input_size(7 * block_size, 5 * block_size)
181*4bdc9457SAndroid Build Coastguard Worker       .block_size(block_size)
182*4bdc9457SAndroid Build Coastguard Worker       .input_channels(17)
183*4bdc9457SAndroid Build Coastguard Worker       .TestNHWCxX32();
184*4bdc9457SAndroid Build Coastguard Worker   }
185*4bdc9457SAndroid Build Coastguard Worker }
186*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X16,input_channels_stride)187*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X16, input_channels_stride) {
188*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
189*4bdc9457SAndroid Build Coastguard Worker   SpaceToDepthOperatorTester()
190*4bdc9457SAndroid Build Coastguard Worker     .batch_size(1)
191*4bdc9457SAndroid Build Coastguard Worker     .input_size(7 * block_size, 5 * block_size)
192*4bdc9457SAndroid Build Coastguard Worker     .block_size(block_size)
193*4bdc9457SAndroid Build Coastguard Worker     .input_channels_stride(10)
194*4bdc9457SAndroid Build Coastguard Worker     .input_channels(9)
195*4bdc9457SAndroid Build Coastguard Worker     .TestNHWCxX16();
196*4bdc9457SAndroid Build Coastguard Worker }
197*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X16,output_channels_stride)198*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X16, output_channels_stride) {
199*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
200*4bdc9457SAndroid Build Coastguard Worker   SpaceToDepthOperatorTester()
201*4bdc9457SAndroid Build Coastguard Worker     .batch_size(2)
202*4bdc9457SAndroid Build Coastguard Worker     .input_size(7 * block_size, 5 * block_size)
203*4bdc9457SAndroid Build Coastguard Worker     .block_size(block_size)
204*4bdc9457SAndroid Build Coastguard Worker     .output_channels_stride(171)
205*4bdc9457SAndroid Build Coastguard Worker     .input_channels(17)
206*4bdc9457SAndroid Build Coastguard Worker     .TestNHWCxX32();
207*4bdc9457SAndroid Build Coastguard Worker }
208*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X32,one_output_pixel)209*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X32, one_output_pixel) {
210*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
211*4bdc9457SAndroid Build Coastguard Worker   SpaceToDepthOperatorTester()
212*4bdc9457SAndroid Build Coastguard Worker     .input_size(block_size, block_size)
213*4bdc9457SAndroid Build Coastguard Worker     .block_size(block_size)
214*4bdc9457SAndroid Build Coastguard Worker     .input_channels(17)
215*4bdc9457SAndroid Build Coastguard Worker     .TestNHWCxX32();
216*4bdc9457SAndroid Build Coastguard Worker }
217*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X32,one_column)218*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X32, one_column) {
219*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
220*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 2; input_height <= 7; input_height++) {
221*4bdc9457SAndroid Build Coastguard Worker     SpaceToDepthOperatorTester()
222*4bdc9457SAndroid Build Coastguard Worker       .input_size(input_height * block_size, block_size)
223*4bdc9457SAndroid Build Coastguard Worker       .block_size(block_size)
224*4bdc9457SAndroid Build Coastguard Worker       .input_channels(17)
225*4bdc9457SAndroid Build Coastguard Worker       .TestNHWCxX32();
226*4bdc9457SAndroid Build Coastguard Worker   }
227*4bdc9457SAndroid Build Coastguard Worker }
228*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X32,one_row)229*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X32, one_row) {
230*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
231*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_width = 2; input_width <= 7; input_width++) {
232*4bdc9457SAndroid Build Coastguard Worker     SpaceToDepthOperatorTester()
233*4bdc9457SAndroid Build Coastguard Worker       .input_size(block_size, input_width * block_size)
234*4bdc9457SAndroid Build Coastguard Worker       .block_size(block_size)
235*4bdc9457SAndroid Build Coastguard Worker       .input_channels(17)
236*4bdc9457SAndroid Build Coastguard Worker       .TestNHWCxX32();
237*4bdc9457SAndroid Build Coastguard Worker   }
238*4bdc9457SAndroid Build Coastguard Worker }
239*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X32,varying_input_size)240*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X32, varying_input_size) {
241*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
242*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 1; input_height <= 5; input_height++) {
243*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = 1; input_width <= 5; input_width++) {
244*4bdc9457SAndroid Build Coastguard Worker       SpaceToDepthOperatorTester()
245*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height * block_size, input_width * block_size)
246*4bdc9457SAndroid Build Coastguard Worker         .block_size(block_size)
247*4bdc9457SAndroid Build Coastguard Worker         .input_channels(17)
248*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxX32();
249*4bdc9457SAndroid Build Coastguard Worker     }
250*4bdc9457SAndroid Build Coastguard Worker   }
251*4bdc9457SAndroid Build Coastguard Worker }
252*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X32,varying_block_size)253*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X32, varying_block_size) {
254*4bdc9457SAndroid Build Coastguard Worker   for (uint32_t block_size = 2; block_size <= 5; block_size++) {
255*4bdc9457SAndroid Build Coastguard Worker     SpaceToDepthOperatorTester()
256*4bdc9457SAndroid Build Coastguard Worker       .input_size(7 * block_size, 5 * block_size)
257*4bdc9457SAndroid Build Coastguard Worker       .block_size(block_size)
258*4bdc9457SAndroid Build Coastguard Worker       .input_channels(17)
259*4bdc9457SAndroid Build Coastguard Worker       .TestNHWCxX32();
260*4bdc9457SAndroid Build Coastguard Worker   }
261*4bdc9457SAndroid Build Coastguard Worker }
262*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X32,varying_input_channels)263*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X32, varying_input_channels) {
264*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
265*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_channels = 1; input_channels <= 15; input_channels++) {
266*4bdc9457SAndroid Build Coastguard Worker     SpaceToDepthOperatorTester()
267*4bdc9457SAndroid Build Coastguard Worker       .input_size(7 * block_size, 5 * block_size)
268*4bdc9457SAndroid Build Coastguard Worker       .block_size(block_size)
269*4bdc9457SAndroid Build Coastguard Worker       .input_channels(input_channels)
270*4bdc9457SAndroid Build Coastguard Worker       .TestNHWCxX32();
271*4bdc9457SAndroid Build Coastguard Worker   }
272*4bdc9457SAndroid Build Coastguard Worker }
273*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X32,varying_batch_size)274*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X32, varying_batch_size) {
275*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
276*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
277*4bdc9457SAndroid Build Coastguard Worker     SpaceToDepthOperatorTester()
278*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
279*4bdc9457SAndroid Build Coastguard Worker       .input_size(7 * block_size, 5 * block_size)
280*4bdc9457SAndroid Build Coastguard Worker       .block_size(block_size)
281*4bdc9457SAndroid Build Coastguard Worker       .input_channels(17)
282*4bdc9457SAndroid Build Coastguard Worker       .TestNHWCxX32();
283*4bdc9457SAndroid Build Coastguard Worker   }
284*4bdc9457SAndroid Build Coastguard Worker }
285*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X32,input_channels_stride)286*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X32, input_channels_stride) {
287*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
288*4bdc9457SAndroid Build Coastguard Worker   SpaceToDepthOperatorTester()
289*4bdc9457SAndroid Build Coastguard Worker     .batch_size(1)
290*4bdc9457SAndroid Build Coastguard Worker     .input_size(7 * block_size, 5 * block_size)
291*4bdc9457SAndroid Build Coastguard Worker     .block_size(block_size)
292*4bdc9457SAndroid Build Coastguard Worker     .input_channels_stride(10)
293*4bdc9457SAndroid Build Coastguard Worker     .input_channels(9)
294*4bdc9457SAndroid Build Coastguard Worker     .TestNHWCxX32();
295*4bdc9457SAndroid Build Coastguard Worker }
296*4bdc9457SAndroid Build Coastguard Worker 
TEST(SPACE_TO_DEPTH_NHWC_X32,output_channels_stride)297*4bdc9457SAndroid Build Coastguard Worker TEST(SPACE_TO_DEPTH_NHWC_X32, output_channels_stride) {
298*4bdc9457SAndroid Build Coastguard Worker   size_t block_size = 3;
299*4bdc9457SAndroid Build Coastguard Worker   SpaceToDepthOperatorTester()
300*4bdc9457SAndroid Build Coastguard Worker     .batch_size(2)
301*4bdc9457SAndroid Build Coastguard Worker     .input_size(7 * block_size, 5 * block_size)
302*4bdc9457SAndroid Build Coastguard Worker     .block_size(block_size)
303*4bdc9457SAndroid Build Coastguard Worker     .output_channels_stride(171)
304*4bdc9457SAndroid Build Coastguard Worker     .input_channels(17)
305*4bdc9457SAndroid Build Coastguard Worker     .TestNHWCxX32();
306*4bdc9457SAndroid Build Coastguard Worker }
307