xref: /aosp_15_r20/external/XNNPACK/test/resize-bilinear-nhwc.cc (revision 4bdc94577ba0e567308109d787f7fec7b531ce36)
1*4bdc9457SAndroid Build Coastguard Worker // Copyright 2019 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 <gtest/gtest.h>
7*4bdc9457SAndroid Build Coastguard Worker 
8*4bdc9457SAndroid Build Coastguard Worker #include "resize-bilinear-operator-tester.h"
9*4bdc9457SAndroid Build Coastguard Worker 
10*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_upscale_y)11*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_upscale_y) {
12*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 1; input_height <= 3; input_height++) {
13*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
14*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
15*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
16*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
17*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
18*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
19*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
20*4bdc9457SAndroid Build Coastguard Worker     }
21*4bdc9457SAndroid Build Coastguard Worker   }
22*4bdc9457SAndroid Build Coastguard Worker }
23*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_upscale_x)24*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_upscale_x) {
25*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_width = 1; input_width <= 3; input_width++) {
26*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
27*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
28*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
29*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
30*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
31*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
32*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
33*4bdc9457SAndroid Build Coastguard Worker     }
34*4bdc9457SAndroid Build Coastguard Worker   }
35*4bdc9457SAndroid Build Coastguard Worker }
36*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_upscale)37*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_upscale) {
38*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 3; output_height <= 5; output_height += 2) {
39*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = 3; output_width <= 5; output_width += 2) {
40*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
41*4bdc9457SAndroid Build Coastguard Worker         .input_size(2, 2)
42*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, output_width)
43*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
44*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
45*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
46*4bdc9457SAndroid Build Coastguard Worker     }
47*4bdc9457SAndroid Build Coastguard Worker   }
48*4bdc9457SAndroid Build Coastguard Worker }
49*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_downscale_y)50*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_downscale_y) {
51*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 1; output_height <= 3; output_height++) {
52*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
53*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
54*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
55*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
56*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
57*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
58*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
59*4bdc9457SAndroid Build Coastguard Worker     }
60*4bdc9457SAndroid Build Coastguard Worker   }
61*4bdc9457SAndroid Build Coastguard Worker }
62*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_downscale_x)63*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_downscale_x) {
64*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_width = 1; output_width <= 3; output_width++) {
65*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
66*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
67*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
68*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
69*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
70*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
71*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
72*4bdc9457SAndroid Build Coastguard Worker     }
73*4bdc9457SAndroid Build Coastguard Worker   }
74*4bdc9457SAndroid Build Coastguard Worker }
75*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_downscale)76*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_downscale) {
77*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 3; input_height <= 5; input_height += 2) {
78*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = 3; input_width <= 5; input_width += 2) {
79*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
80*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, input_width)
81*4bdc9457SAndroid Build Coastguard Worker         .output_size(2, 2)
82*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
83*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
84*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
85*4bdc9457SAndroid Build Coastguard Worker     }
86*4bdc9457SAndroid Build Coastguard Worker   }
87*4bdc9457SAndroid Build Coastguard Worker }
88*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_identical_size)89*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_identical_size) {
90*4bdc9457SAndroid Build Coastguard Worker   for (size_t height = 1; height < 10; height *= 3) {
91*4bdc9457SAndroid Build Coastguard Worker     for (size_t width = 1; width < 10; width *= 3) {
92*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
93*4bdc9457SAndroid Build Coastguard Worker         .input_size(height, width)
94*4bdc9457SAndroid Build Coastguard Worker         .output_size(height, width)
95*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
96*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
97*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
98*4bdc9457SAndroid Build Coastguard Worker     }
99*4bdc9457SAndroid Build Coastguard Worker   }
100*4bdc9457SAndroid Build Coastguard Worker }
101*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_varying_channels)102*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_varying_channels) {
103*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
104*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
105*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
106*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
107*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
108*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
109*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
110*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
111*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF16();
112*4bdc9457SAndroid Build Coastguard Worker       }
113*4bdc9457SAndroid Build Coastguard Worker     }
114*4bdc9457SAndroid Build Coastguard Worker   }
115*4bdc9457SAndroid Build Coastguard Worker }
116*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_with_input_stride)117*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_with_input_stride) {
118*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
119*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
120*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
121*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
122*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
123*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
124*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
125*4bdc9457SAndroid Build Coastguard Worker           .input_pixel_stride(23)
126*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
127*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF16();
128*4bdc9457SAndroid Build Coastguard Worker       }
129*4bdc9457SAndroid Build Coastguard Worker     }
130*4bdc9457SAndroid Build Coastguard Worker   }
131*4bdc9457SAndroid Build Coastguard Worker }
132*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_with_output_stride)133*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_with_output_stride) {
134*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
135*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
136*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
137*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
138*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
139*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
140*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
141*4bdc9457SAndroid Build Coastguard Worker           .output_pixel_stride(29)
142*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
143*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF16();
144*4bdc9457SAndroid Build Coastguard Worker       }
145*4bdc9457SAndroid Build Coastguard Worker     }
146*4bdc9457SAndroid Build Coastguard Worker   }
147*4bdc9457SAndroid Build Coastguard Worker }
148*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_varying_batch_size)149*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_varying_batch_size) {
150*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
151*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
152*4bdc9457SAndroid Build Coastguard Worker       for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
153*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
154*4bdc9457SAndroid Build Coastguard Worker           .batch_size(batch_size)
155*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
156*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
157*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
158*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF16();
159*4bdc9457SAndroid Build Coastguard Worker       }
160*4bdc9457SAndroid Build Coastguard Worker     }
161*4bdc9457SAndroid Build Coastguard Worker   }
162*4bdc9457SAndroid Build Coastguard Worker }
163*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_upscale_y)164*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_upscale_y) {
165*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 1; input_height <= 3; input_height++) {
166*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
167*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
168*4bdc9457SAndroid Build Coastguard Worker         .align_corners(true)
169*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
170*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
171*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
172*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
173*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
174*4bdc9457SAndroid Build Coastguard Worker     }
175*4bdc9457SAndroid Build Coastguard Worker   }
176*4bdc9457SAndroid Build Coastguard Worker }
177*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_upscale_x)178*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_upscale_x) {
179*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_width = 1; input_width <= 3; input_width++) {
180*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
181*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
182*4bdc9457SAndroid Build Coastguard Worker         .align_corners(true)
183*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
184*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
185*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
186*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
187*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
188*4bdc9457SAndroid Build Coastguard Worker     }
189*4bdc9457SAndroid Build Coastguard Worker   }
190*4bdc9457SAndroid Build Coastguard Worker }
191*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_upscale)192*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_upscale) {
193*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 3; output_height <= 5; output_height += 2) {
194*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = 3; output_width <= 5; output_width += 2) {
195*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
196*4bdc9457SAndroid Build Coastguard Worker         .align_corners(true)
197*4bdc9457SAndroid Build Coastguard Worker         .input_size(2, 2)
198*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, output_width)
199*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
200*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
201*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
202*4bdc9457SAndroid Build Coastguard Worker     }
203*4bdc9457SAndroid Build Coastguard Worker   }
204*4bdc9457SAndroid Build Coastguard Worker }
205*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_downscale_y)206*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_downscale_y) {
207*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 2; output_height <= 3; output_height++) {
208*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
209*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
210*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
211*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
212*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
213*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
214*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
215*4bdc9457SAndroid Build Coastguard Worker     }
216*4bdc9457SAndroid Build Coastguard Worker   }
217*4bdc9457SAndroid Build Coastguard Worker }
218*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_downscale_x)219*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_downscale_x) {
220*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_width = 2; output_width <= 3; output_width++) {
221*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
222*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
223*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
224*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
225*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
226*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
227*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
228*4bdc9457SAndroid Build Coastguard Worker     }
229*4bdc9457SAndroid Build Coastguard Worker   }
230*4bdc9457SAndroid Build Coastguard Worker }
231*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_downscale)232*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_downscale) {
233*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 3; input_height <= 5; input_height += 2) {
234*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = 3; input_width <= 5; input_width += 2) {
235*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
236*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, input_width)
237*4bdc9457SAndroid Build Coastguard Worker         .output_size(2, 2)
238*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
239*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
240*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
241*4bdc9457SAndroid Build Coastguard Worker     }
242*4bdc9457SAndroid Build Coastguard Worker   }
243*4bdc9457SAndroid Build Coastguard Worker }
244*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_identical_size)245*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_identical_size) {
246*4bdc9457SAndroid Build Coastguard Worker   for (size_t height = 1; height < 10; height *= 3) {
247*4bdc9457SAndroid Build Coastguard Worker     for (size_t width = 1; width < 10; width *= 3) {
248*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
249*4bdc9457SAndroid Build Coastguard Worker         .align_corners(true)
250*4bdc9457SAndroid Build Coastguard Worker         .input_size(height, width)
251*4bdc9457SAndroid Build Coastguard Worker         .output_size(height, width)
252*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
253*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
254*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
255*4bdc9457SAndroid Build Coastguard Worker     }
256*4bdc9457SAndroid Build Coastguard Worker   }
257*4bdc9457SAndroid Build Coastguard Worker }
258*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_varying_channels)259*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_varying_channels) {
260*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
261*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
262*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
263*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
264*4bdc9457SAndroid Build Coastguard Worker           .align_corners(true)
265*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
266*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
267*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
268*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
269*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF16();
270*4bdc9457SAndroid Build Coastguard Worker       }
271*4bdc9457SAndroid Build Coastguard Worker     }
272*4bdc9457SAndroid Build Coastguard Worker   }
273*4bdc9457SAndroid Build Coastguard Worker }
274*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_with_input_stride)275*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_with_input_stride) {
276*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
277*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
278*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
279*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
280*4bdc9457SAndroid Build Coastguard Worker           .align_corners(true)
281*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
282*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
283*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
284*4bdc9457SAndroid Build Coastguard Worker           .input_pixel_stride(23)
285*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
286*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF16();
287*4bdc9457SAndroid Build Coastguard Worker       }
288*4bdc9457SAndroid Build Coastguard Worker     }
289*4bdc9457SAndroid Build Coastguard Worker   }
290*4bdc9457SAndroid Build Coastguard Worker }
291*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_with_output_stride)292*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_with_output_stride) {
293*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
294*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
295*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
296*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
297*4bdc9457SAndroid Build Coastguard Worker           .align_corners(true)
298*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
299*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
300*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
301*4bdc9457SAndroid Build Coastguard Worker           .output_pixel_stride(29)
302*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
303*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF16();
304*4bdc9457SAndroid Build Coastguard Worker       }
305*4bdc9457SAndroid Build Coastguard Worker     }
306*4bdc9457SAndroid Build Coastguard Worker   }
307*4bdc9457SAndroid Build Coastguard Worker }
308*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_varying_batch_size)309*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_varying_batch_size) {
310*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
311*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
312*4bdc9457SAndroid Build Coastguard Worker       for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
313*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
314*4bdc9457SAndroid Build Coastguard Worker           .align_corners(true)
315*4bdc9457SAndroid Build Coastguard Worker           .batch_size(batch_size)
316*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
317*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
318*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
319*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF16();
320*4bdc9457SAndroid Build Coastguard Worker       }
321*4bdc9457SAndroid Build Coastguard Worker     }
322*4bdc9457SAndroid Build Coastguard Worker   }
323*4bdc9457SAndroid Build Coastguard Worker }
324*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_upscale_y)325*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_upscale_y) {
326*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 1; input_height <= 3; input_height++) {
327*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
328*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
329*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
330*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
331*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
332*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
333*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
334*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
335*4bdc9457SAndroid Build Coastguard Worker     }
336*4bdc9457SAndroid Build Coastguard Worker   }
337*4bdc9457SAndroid Build Coastguard Worker }
338*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_upscale_x)339*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_upscale_x) {
340*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_width = 1; input_width <= 3; input_width++) {
341*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
342*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
343*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
344*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
345*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
346*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
347*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
348*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
349*4bdc9457SAndroid Build Coastguard Worker     }
350*4bdc9457SAndroid Build Coastguard Worker   }
351*4bdc9457SAndroid Build Coastguard Worker }
352*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_upscale)353*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_upscale) {
354*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 3; output_height <= 5; output_height += 2) {
355*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = 3; output_width <= 5; output_width += 2) {
356*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
357*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
358*4bdc9457SAndroid Build Coastguard Worker         .input_size(2, 2)
359*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, output_width)
360*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
361*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
362*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
363*4bdc9457SAndroid Build Coastguard Worker     }
364*4bdc9457SAndroid Build Coastguard Worker   }
365*4bdc9457SAndroid Build Coastguard Worker }
366*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_downscale_y)367*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_downscale_y) {
368*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 1; output_height <= 3; output_height++) {
369*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
370*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
371*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
372*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
373*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
374*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
375*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
376*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
377*4bdc9457SAndroid Build Coastguard Worker     }
378*4bdc9457SAndroid Build Coastguard Worker   }
379*4bdc9457SAndroid Build Coastguard Worker }
380*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_downscale_x)381*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_downscale_x) {
382*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_width = 1; output_width <= 3; output_width++) {
383*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
384*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
385*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
386*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
387*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
388*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
389*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
390*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
391*4bdc9457SAndroid Build Coastguard Worker     }
392*4bdc9457SAndroid Build Coastguard Worker   }
393*4bdc9457SAndroid Build Coastguard Worker }
394*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_downscale)395*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_downscale) {
396*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 3; input_height <= 5; input_height += 2) {
397*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = 3; input_width <= 5; input_width += 2) {
398*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
399*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
400*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, input_width)
401*4bdc9457SAndroid Build Coastguard Worker         .output_size(2, 2)
402*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
403*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
404*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
405*4bdc9457SAndroid Build Coastguard Worker     }
406*4bdc9457SAndroid Build Coastguard Worker   }
407*4bdc9457SAndroid Build Coastguard Worker }
408*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_identical_size)409*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_identical_size) {
410*4bdc9457SAndroid Build Coastguard Worker   for (size_t height = 1; height < 10; height *= 3) {
411*4bdc9457SAndroid Build Coastguard Worker     for (size_t width = 1; width < 10; width *= 3) {
412*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
413*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
414*4bdc9457SAndroid Build Coastguard Worker         .input_size(height, width)
415*4bdc9457SAndroid Build Coastguard Worker         .output_size(height, width)
416*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
417*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
418*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF16();
419*4bdc9457SAndroid Build Coastguard Worker     }
420*4bdc9457SAndroid Build Coastguard Worker   }
421*4bdc9457SAndroid Build Coastguard Worker }
422*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_varying_channels)423*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_varying_channels) {
424*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
425*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
426*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
427*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
428*4bdc9457SAndroid Build Coastguard Worker           .tf_legacy_mode(true)
429*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
430*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
431*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
432*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
433*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF16();
434*4bdc9457SAndroid Build Coastguard Worker       }
435*4bdc9457SAndroid Build Coastguard Worker     }
436*4bdc9457SAndroid Build Coastguard Worker   }
437*4bdc9457SAndroid Build Coastguard Worker }
438*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_with_input_stride)439*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_with_input_stride) {
440*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
441*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
442*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
443*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
444*4bdc9457SAndroid Build Coastguard Worker           .tf_legacy_mode(true)
445*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
446*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
447*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
448*4bdc9457SAndroid Build Coastguard Worker           .input_pixel_stride(23)
449*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
450*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF16();
451*4bdc9457SAndroid Build Coastguard Worker       }
452*4bdc9457SAndroid Build Coastguard Worker     }
453*4bdc9457SAndroid Build Coastguard Worker   }
454*4bdc9457SAndroid Build Coastguard Worker }
455*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_with_output_stride)456*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_with_output_stride) {
457*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
458*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
459*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
460*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
461*4bdc9457SAndroid Build Coastguard Worker           .tf_legacy_mode(true)
462*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
463*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
464*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
465*4bdc9457SAndroid Build Coastguard Worker           .output_pixel_stride(29)
466*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
467*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF16();
468*4bdc9457SAndroid Build Coastguard Worker       }
469*4bdc9457SAndroid Build Coastguard Worker     }
470*4bdc9457SAndroid Build Coastguard Worker   }
471*4bdc9457SAndroid Build Coastguard Worker }
472*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_varying_batch_size)473*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_varying_batch_size) {
474*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
475*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
476*4bdc9457SAndroid Build Coastguard Worker       for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
477*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
478*4bdc9457SAndroid Build Coastguard Worker           .tf_legacy_mode(true)
479*4bdc9457SAndroid Build Coastguard Worker           .batch_size(batch_size)
480*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
481*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
482*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
483*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF16();
484*4bdc9457SAndroid Build Coastguard Worker       }
485*4bdc9457SAndroid Build Coastguard Worker     }
486*4bdc9457SAndroid Build Coastguard Worker   }
487*4bdc9457SAndroid Build Coastguard Worker }
488*4bdc9457SAndroid Build Coastguard Worker 
489*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_upscale_y)490*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_upscale_y) {
491*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 1; input_height <= 3; input_height++) {
492*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
493*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
494*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
495*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
496*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
497*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
498*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
499*4bdc9457SAndroid Build Coastguard Worker     }
500*4bdc9457SAndroid Build Coastguard Worker   }
501*4bdc9457SAndroid Build Coastguard Worker }
502*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_upscale_x)503*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_upscale_x) {
504*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_width = 1; input_width <= 3; input_width++) {
505*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
506*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
507*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
508*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
509*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
510*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
511*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
512*4bdc9457SAndroid Build Coastguard Worker     }
513*4bdc9457SAndroid Build Coastguard Worker   }
514*4bdc9457SAndroid Build Coastguard Worker }
515*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_upscale)516*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_upscale) {
517*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 3; output_height <= 5; output_height += 2) {
518*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = 3; output_width <= 5; output_width += 2) {
519*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
520*4bdc9457SAndroid Build Coastguard Worker         .input_size(2, 2)
521*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, output_width)
522*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
523*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
524*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
525*4bdc9457SAndroid Build Coastguard Worker     }
526*4bdc9457SAndroid Build Coastguard Worker   }
527*4bdc9457SAndroid Build Coastguard Worker }
528*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_downscale_y)529*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_downscale_y) {
530*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 1; output_height <= 3; output_height++) {
531*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
532*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
533*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
534*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
535*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
536*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
537*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
538*4bdc9457SAndroid Build Coastguard Worker     }
539*4bdc9457SAndroid Build Coastguard Worker   }
540*4bdc9457SAndroid Build Coastguard Worker }
541*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_downscale_x)542*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_downscale_x) {
543*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_width = 1; output_width <= 3; output_width++) {
544*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
545*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
546*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
547*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
548*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
549*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
550*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
551*4bdc9457SAndroid Build Coastguard Worker     }
552*4bdc9457SAndroid Build Coastguard Worker   }
553*4bdc9457SAndroid Build Coastguard Worker }
554*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_downscale)555*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_downscale) {
556*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 3; input_height <= 5; input_height += 2) {
557*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = 3; input_width <= 5; input_width += 2) {
558*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
559*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, input_width)
560*4bdc9457SAndroid Build Coastguard Worker         .output_size(2, 2)
561*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
562*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
563*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
564*4bdc9457SAndroid Build Coastguard Worker     }
565*4bdc9457SAndroid Build Coastguard Worker   }
566*4bdc9457SAndroid Build Coastguard Worker }
567*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_identical_size)568*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_identical_size) {
569*4bdc9457SAndroid Build Coastguard Worker   for (size_t height = 1; height < 10; height *= 3) {
570*4bdc9457SAndroid Build Coastguard Worker     for (size_t width = 1; width < 10; width *= 3) {
571*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
572*4bdc9457SAndroid Build Coastguard Worker         .input_size(height, width)
573*4bdc9457SAndroid Build Coastguard Worker         .output_size(height, width)
574*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
575*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
576*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
577*4bdc9457SAndroid Build Coastguard Worker     }
578*4bdc9457SAndroid Build Coastguard Worker   }
579*4bdc9457SAndroid Build Coastguard Worker }
580*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_varying_channels)581*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_varying_channels) {
582*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
583*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
584*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
585*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
586*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
587*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
588*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
589*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
590*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF32();
591*4bdc9457SAndroid Build Coastguard Worker       }
592*4bdc9457SAndroid Build Coastguard Worker     }
593*4bdc9457SAndroid Build Coastguard Worker   }
594*4bdc9457SAndroid Build Coastguard Worker }
595*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_with_input_stride)596*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_with_input_stride) {
597*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
598*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
599*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
600*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
601*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
602*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
603*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
604*4bdc9457SAndroid Build Coastguard Worker           .input_pixel_stride(23)
605*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
606*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF32();
607*4bdc9457SAndroid Build Coastguard Worker       }
608*4bdc9457SAndroid Build Coastguard Worker     }
609*4bdc9457SAndroid Build Coastguard Worker   }
610*4bdc9457SAndroid Build Coastguard Worker }
611*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_with_output_stride)612*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_with_output_stride) {
613*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
614*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
615*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
616*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
617*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
618*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
619*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
620*4bdc9457SAndroid Build Coastguard Worker           .output_pixel_stride(29)
621*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
622*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF32();
623*4bdc9457SAndroid Build Coastguard Worker       }
624*4bdc9457SAndroid Build Coastguard Worker     }
625*4bdc9457SAndroid Build Coastguard Worker   }
626*4bdc9457SAndroid Build Coastguard Worker }
627*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_varying_batch_size)628*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_varying_batch_size) {
629*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
630*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
631*4bdc9457SAndroid Build Coastguard Worker       for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
632*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
633*4bdc9457SAndroid Build Coastguard Worker           .batch_size(batch_size)
634*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
635*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
636*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
637*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF32();
638*4bdc9457SAndroid Build Coastguard Worker       }
639*4bdc9457SAndroid Build Coastguard Worker     }
640*4bdc9457SAndroid Build Coastguard Worker   }
641*4bdc9457SAndroid Build Coastguard Worker }
642*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_upscale_y)643*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_upscale_y) {
644*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 1; input_height <= 3; input_height++) {
645*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
646*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
647*4bdc9457SAndroid Build Coastguard Worker         .align_corners(true)
648*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
649*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
650*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
651*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
652*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
653*4bdc9457SAndroid Build Coastguard Worker     }
654*4bdc9457SAndroid Build Coastguard Worker   }
655*4bdc9457SAndroid Build Coastguard Worker }
656*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_upscale_x)657*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_upscale_x) {
658*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_width = 1; input_width <= 3; input_width++) {
659*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
660*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
661*4bdc9457SAndroid Build Coastguard Worker         .align_corners(true)
662*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
663*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
664*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
665*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
666*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
667*4bdc9457SAndroid Build Coastguard Worker     }
668*4bdc9457SAndroid Build Coastguard Worker   }
669*4bdc9457SAndroid Build Coastguard Worker }
670*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_upscale)671*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_upscale) {
672*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 3; output_height <= 5; output_height += 2) {
673*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = 3; output_width <= 5; output_width += 2) {
674*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
675*4bdc9457SAndroid Build Coastguard Worker         .align_corners(true)
676*4bdc9457SAndroid Build Coastguard Worker         .input_size(2, 2)
677*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, output_width)
678*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
679*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
680*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
681*4bdc9457SAndroid Build Coastguard Worker     }
682*4bdc9457SAndroid Build Coastguard Worker   }
683*4bdc9457SAndroid Build Coastguard Worker }
684*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_downscale_y)685*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_downscale_y) {
686*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 2; output_height <= 3; output_height++) {
687*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
688*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
689*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
690*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
691*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
692*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
693*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
694*4bdc9457SAndroid Build Coastguard Worker     }
695*4bdc9457SAndroid Build Coastguard Worker   }
696*4bdc9457SAndroid Build Coastguard Worker }
697*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_downscale_x)698*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_downscale_x) {
699*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_width = 2; output_width <= 3; output_width++) {
700*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
701*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
702*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
703*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
704*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
705*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
706*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
707*4bdc9457SAndroid Build Coastguard Worker     }
708*4bdc9457SAndroid Build Coastguard Worker   }
709*4bdc9457SAndroid Build Coastguard Worker }
710*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_downscale)711*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_downscale) {
712*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 3; input_height <= 5; input_height += 2) {
713*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = 3; input_width <= 5; input_width += 2) {
714*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
715*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, input_width)
716*4bdc9457SAndroid Build Coastguard Worker         .output_size(2, 2)
717*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
718*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
719*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
720*4bdc9457SAndroid Build Coastguard Worker     }
721*4bdc9457SAndroid Build Coastguard Worker   }
722*4bdc9457SAndroid Build Coastguard Worker }
723*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_identical_size)724*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_identical_size) {
725*4bdc9457SAndroid Build Coastguard Worker   for (size_t height = 1; height < 10; height *= 3) {
726*4bdc9457SAndroid Build Coastguard Worker     for (size_t width = 1; width < 10; width *= 3) {
727*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
728*4bdc9457SAndroid Build Coastguard Worker         .align_corners(true)
729*4bdc9457SAndroid Build Coastguard Worker         .input_size(height, width)
730*4bdc9457SAndroid Build Coastguard Worker         .output_size(height, width)
731*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
732*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
733*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
734*4bdc9457SAndroid Build Coastguard Worker     }
735*4bdc9457SAndroid Build Coastguard Worker   }
736*4bdc9457SAndroid Build Coastguard Worker }
737*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_varying_channels)738*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_varying_channels) {
739*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
740*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
741*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
742*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
743*4bdc9457SAndroid Build Coastguard Worker           .align_corners(true)
744*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
745*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
746*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
747*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
748*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF32();
749*4bdc9457SAndroid Build Coastguard Worker       }
750*4bdc9457SAndroid Build Coastguard Worker     }
751*4bdc9457SAndroid Build Coastguard Worker   }
752*4bdc9457SAndroid Build Coastguard Worker }
753*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_with_input_stride)754*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_with_input_stride) {
755*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
756*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
757*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
758*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
759*4bdc9457SAndroid Build Coastguard Worker           .align_corners(true)
760*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
761*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
762*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
763*4bdc9457SAndroid Build Coastguard Worker           .input_pixel_stride(23)
764*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
765*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF32();
766*4bdc9457SAndroid Build Coastguard Worker       }
767*4bdc9457SAndroid Build Coastguard Worker     }
768*4bdc9457SAndroid Build Coastguard Worker   }
769*4bdc9457SAndroid Build Coastguard Worker }
770*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_with_output_stride)771*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_with_output_stride) {
772*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
773*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
774*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
775*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
776*4bdc9457SAndroid Build Coastguard Worker           .align_corners(true)
777*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
778*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
779*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
780*4bdc9457SAndroid Build Coastguard Worker           .output_pixel_stride(29)
781*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
782*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF32();
783*4bdc9457SAndroid Build Coastguard Worker       }
784*4bdc9457SAndroid Build Coastguard Worker     }
785*4bdc9457SAndroid Build Coastguard Worker   }
786*4bdc9457SAndroid Build Coastguard Worker }
787*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_varying_batch_size)788*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_varying_batch_size) {
789*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
790*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
791*4bdc9457SAndroid Build Coastguard Worker       for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
792*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
793*4bdc9457SAndroid Build Coastguard Worker           .align_corners(true)
794*4bdc9457SAndroid Build Coastguard Worker           .batch_size(batch_size)
795*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
796*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
797*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
798*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF32();
799*4bdc9457SAndroid Build Coastguard Worker       }
800*4bdc9457SAndroid Build Coastguard Worker     }
801*4bdc9457SAndroid Build Coastguard Worker   }
802*4bdc9457SAndroid Build Coastguard Worker }
803*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_upscale_y)804*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_upscale_y) {
805*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 1; input_height <= 3; input_height++) {
806*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
807*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
808*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
809*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
810*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
811*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
812*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
813*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
814*4bdc9457SAndroid Build Coastguard Worker     }
815*4bdc9457SAndroid Build Coastguard Worker   }
816*4bdc9457SAndroid Build Coastguard Worker }
817*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_upscale_x)818*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_upscale_x) {
819*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_width = 1; input_width <= 3; input_width++) {
820*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
821*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
822*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
823*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
824*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
825*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
826*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
827*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
828*4bdc9457SAndroid Build Coastguard Worker     }
829*4bdc9457SAndroid Build Coastguard Worker   }
830*4bdc9457SAndroid Build Coastguard Worker }
831*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_upscale)832*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_upscale) {
833*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 3; output_height <= 5; output_height += 2) {
834*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = 3; output_width <= 5; output_width += 2) {
835*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
836*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
837*4bdc9457SAndroid Build Coastguard Worker         .input_size(2, 2)
838*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, output_width)
839*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
840*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
841*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
842*4bdc9457SAndroid Build Coastguard Worker     }
843*4bdc9457SAndroid Build Coastguard Worker   }
844*4bdc9457SAndroid Build Coastguard Worker }
845*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_downscale_y)846*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_downscale_y) {
847*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 1; output_height <= 3; output_height++) {
848*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
849*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
850*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
851*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
852*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
853*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
854*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
855*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
856*4bdc9457SAndroid Build Coastguard Worker     }
857*4bdc9457SAndroid Build Coastguard Worker   }
858*4bdc9457SAndroid Build Coastguard Worker }
859*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_downscale_x)860*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_downscale_x) {
861*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_width = 1; output_width <= 3; output_width++) {
862*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
863*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
864*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
865*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
866*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
867*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
868*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
869*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
870*4bdc9457SAndroid Build Coastguard Worker     }
871*4bdc9457SAndroid Build Coastguard Worker   }
872*4bdc9457SAndroid Build Coastguard Worker }
873*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_downscale)874*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_downscale) {
875*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 3; input_height <= 5; input_height += 2) {
876*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = 3; input_width <= 5; input_width += 2) {
877*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
878*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
879*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, input_width)
880*4bdc9457SAndroid Build Coastguard Worker         .output_size(2, 2)
881*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
882*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
883*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
884*4bdc9457SAndroid Build Coastguard Worker     }
885*4bdc9457SAndroid Build Coastguard Worker   }
886*4bdc9457SAndroid Build Coastguard Worker }
887*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_identical_size)888*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_identical_size) {
889*4bdc9457SAndroid Build Coastguard Worker   for (size_t height = 1; height < 10; height *= 3) {
890*4bdc9457SAndroid Build Coastguard Worker     for (size_t width = 1; width < 10; width *= 3) {
891*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
892*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
893*4bdc9457SAndroid Build Coastguard Worker         .input_size(height, width)
894*4bdc9457SAndroid Build Coastguard Worker         .output_size(height, width)
895*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
896*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
897*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxF32();
898*4bdc9457SAndroid Build Coastguard Worker     }
899*4bdc9457SAndroid Build Coastguard Worker   }
900*4bdc9457SAndroid Build Coastguard Worker }
901*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_varying_channels)902*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_varying_channels) {
903*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
904*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
905*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
906*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
907*4bdc9457SAndroid Build Coastguard Worker           .tf_legacy_mode(true)
908*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
909*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
910*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
911*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
912*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF32();
913*4bdc9457SAndroid Build Coastguard Worker       }
914*4bdc9457SAndroid Build Coastguard Worker     }
915*4bdc9457SAndroid Build Coastguard Worker   }
916*4bdc9457SAndroid Build Coastguard Worker }
917*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_with_input_stride)918*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_with_input_stride) {
919*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
920*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
921*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
922*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
923*4bdc9457SAndroid Build Coastguard Worker           .tf_legacy_mode(true)
924*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
925*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
926*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
927*4bdc9457SAndroid Build Coastguard Worker           .input_pixel_stride(23)
928*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
929*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF32();
930*4bdc9457SAndroid Build Coastguard Worker       }
931*4bdc9457SAndroid Build Coastguard Worker     }
932*4bdc9457SAndroid Build Coastguard Worker   }
933*4bdc9457SAndroid Build Coastguard Worker }
934*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_with_output_stride)935*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_with_output_stride) {
936*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
937*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
938*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
939*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
940*4bdc9457SAndroid Build Coastguard Worker           .tf_legacy_mode(true)
941*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
942*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
943*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
944*4bdc9457SAndroid Build Coastguard Worker           .output_pixel_stride(29)
945*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
946*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF32();
947*4bdc9457SAndroid Build Coastguard Worker       }
948*4bdc9457SAndroid Build Coastguard Worker     }
949*4bdc9457SAndroid Build Coastguard Worker   }
950*4bdc9457SAndroid Build Coastguard Worker }
951*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_varying_batch_size)952*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_varying_batch_size) {
953*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
954*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
955*4bdc9457SAndroid Build Coastguard Worker       for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
956*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
957*4bdc9457SAndroid Build Coastguard Worker           .tf_legacy_mode(true)
958*4bdc9457SAndroid Build Coastguard Worker           .batch_size(batch_size)
959*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
960*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
961*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
962*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxF32();
963*4bdc9457SAndroid Build Coastguard Worker       }
964*4bdc9457SAndroid Build Coastguard Worker     }
965*4bdc9457SAndroid Build Coastguard Worker   }
966*4bdc9457SAndroid Build Coastguard Worker }
967*4bdc9457SAndroid Build Coastguard Worker 
968*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_upscale_y)969*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_upscale_y) {
970*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 1; input_height <= 3; input_height++) {
971*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
972*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
973*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
974*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
975*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
976*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
977*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
978*4bdc9457SAndroid Build Coastguard Worker     }
979*4bdc9457SAndroid Build Coastguard Worker   }
980*4bdc9457SAndroid Build Coastguard Worker }
981*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_upscale_x)982*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_upscale_x) {
983*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_width = 1; input_width <= 3; input_width++) {
984*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
985*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
986*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
987*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
988*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
989*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
990*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
991*4bdc9457SAndroid Build Coastguard Worker     }
992*4bdc9457SAndroid Build Coastguard Worker   }
993*4bdc9457SAndroid Build Coastguard Worker }
994*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_upscale)995*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_upscale) {
996*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 3; output_height <= 5; output_height += 2) {
997*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = 3; output_width <= 5; output_width += 2) {
998*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
999*4bdc9457SAndroid Build Coastguard Worker         .input_size(2, 2)
1000*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, output_width)
1001*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1002*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1003*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
1004*4bdc9457SAndroid Build Coastguard Worker     }
1005*4bdc9457SAndroid Build Coastguard Worker   }
1006*4bdc9457SAndroid Build Coastguard Worker }
1007*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_downscale_y)1008*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_downscale_y) {
1009*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 1; output_height <= 3; output_height++) {
1010*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
1011*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1012*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
1013*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
1014*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1015*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1016*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
1017*4bdc9457SAndroid Build Coastguard Worker     }
1018*4bdc9457SAndroid Build Coastguard Worker   }
1019*4bdc9457SAndroid Build Coastguard Worker }
1020*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_downscale_x)1021*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_downscale_x) {
1022*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_width = 1; output_width <= 3; output_width++) {
1023*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
1024*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1025*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
1026*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
1027*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1028*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1029*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
1030*4bdc9457SAndroid Build Coastguard Worker     }
1031*4bdc9457SAndroid Build Coastguard Worker   }
1032*4bdc9457SAndroid Build Coastguard Worker }
1033*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_downscale)1034*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_downscale) {
1035*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 3; input_height <= 5; input_height += 2) {
1036*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = 3; input_width <= 5; input_width += 2) {
1037*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1038*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, input_width)
1039*4bdc9457SAndroid Build Coastguard Worker         .output_size(2, 2)
1040*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1041*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1042*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
1043*4bdc9457SAndroid Build Coastguard Worker     }
1044*4bdc9457SAndroid Build Coastguard Worker   }
1045*4bdc9457SAndroid Build Coastguard Worker }
1046*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_identical_size)1047*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_identical_size) {
1048*4bdc9457SAndroid Build Coastguard Worker   for (size_t height = 1; height < 10; height *= 3) {
1049*4bdc9457SAndroid Build Coastguard Worker     for (size_t width = 1; width < 10; width *= 3) {
1050*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1051*4bdc9457SAndroid Build Coastguard Worker         .input_size(height, width)
1052*4bdc9457SAndroid Build Coastguard Worker         .output_size(height, width)
1053*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1054*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1055*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
1056*4bdc9457SAndroid Build Coastguard Worker     }
1057*4bdc9457SAndroid Build Coastguard Worker   }
1058*4bdc9457SAndroid Build Coastguard Worker }
1059*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_varying_channels)1060*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_varying_channels) {
1061*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1062*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1063*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
1064*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1065*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1066*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1067*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
1068*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1069*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxS8();
1070*4bdc9457SAndroid Build Coastguard Worker       }
1071*4bdc9457SAndroid Build Coastguard Worker     }
1072*4bdc9457SAndroid Build Coastguard Worker   }
1073*4bdc9457SAndroid Build Coastguard Worker }
1074*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_with_input_stride)1075*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_with_input_stride) {
1076*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1077*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1078*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
1079*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1080*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1081*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1082*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
1083*4bdc9457SAndroid Build Coastguard Worker           .input_pixel_stride(23)
1084*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1085*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxS8();
1086*4bdc9457SAndroid Build Coastguard Worker       }
1087*4bdc9457SAndroid Build Coastguard Worker     }
1088*4bdc9457SAndroid Build Coastguard Worker   }
1089*4bdc9457SAndroid Build Coastguard Worker }
1090*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_with_output_stride)1091*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_with_output_stride) {
1092*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1093*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1094*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
1095*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1096*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1097*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1098*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
1099*4bdc9457SAndroid Build Coastguard Worker           .output_pixel_stride(29)
1100*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1101*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxS8();
1102*4bdc9457SAndroid Build Coastguard Worker       }
1103*4bdc9457SAndroid Build Coastguard Worker     }
1104*4bdc9457SAndroid Build Coastguard Worker   }
1105*4bdc9457SAndroid Build Coastguard Worker }
1106*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_varying_batch_size)1107*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_varying_batch_size) {
1108*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1109*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1110*4bdc9457SAndroid Build Coastguard Worker       for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
1111*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1112*4bdc9457SAndroid Build Coastguard Worker           .batch_size(batch_size)
1113*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1114*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1115*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1116*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxS8();
1117*4bdc9457SAndroid Build Coastguard Worker       }
1118*4bdc9457SAndroid Build Coastguard Worker     }
1119*4bdc9457SAndroid Build Coastguard Worker   }
1120*4bdc9457SAndroid Build Coastguard Worker }
1121*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_upscale_y)1122*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_upscale_y) {
1123*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 1; input_height <= 3; input_height++) {
1124*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
1125*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1126*4bdc9457SAndroid Build Coastguard Worker         .align_corners(true)
1127*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
1128*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
1129*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1130*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1131*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
1132*4bdc9457SAndroid Build Coastguard Worker     }
1133*4bdc9457SAndroid Build Coastguard Worker   }
1134*4bdc9457SAndroid Build Coastguard Worker }
1135*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_upscale_x)1136*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_upscale_x) {
1137*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_width = 1; input_width <= 3; input_width++) {
1138*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
1139*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1140*4bdc9457SAndroid Build Coastguard Worker         .align_corners(true)
1141*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
1142*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
1143*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1144*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1145*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
1146*4bdc9457SAndroid Build Coastguard Worker     }
1147*4bdc9457SAndroid Build Coastguard Worker   }
1148*4bdc9457SAndroid Build Coastguard Worker }
1149*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_upscale)1150*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_upscale) {
1151*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 3; output_height <= 5; output_height += 2) {
1152*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = 3; output_width <= 5; output_width += 2) {
1153*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1154*4bdc9457SAndroid Build Coastguard Worker         .align_corners(true)
1155*4bdc9457SAndroid Build Coastguard Worker         .input_size(2, 2)
1156*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, output_width)
1157*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1158*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1159*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
1160*4bdc9457SAndroid Build Coastguard Worker     }
1161*4bdc9457SAndroid Build Coastguard Worker   }
1162*4bdc9457SAndroid Build Coastguard Worker }
1163*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_downscale_y)1164*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_downscale_y) {
1165*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 2; output_height <= 3; output_height++) {
1166*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
1167*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1168*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
1169*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
1170*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1171*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1172*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
1173*4bdc9457SAndroid Build Coastguard Worker     }
1174*4bdc9457SAndroid Build Coastguard Worker   }
1175*4bdc9457SAndroid Build Coastguard Worker }
1176*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_downscale_x)1177*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_downscale_x) {
1178*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_width = 2; output_width <= 3; output_width++) {
1179*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
1180*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1181*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
1182*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
1183*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1184*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1185*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
1186*4bdc9457SAndroid Build Coastguard Worker     }
1187*4bdc9457SAndroid Build Coastguard Worker   }
1188*4bdc9457SAndroid Build Coastguard Worker }
1189*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_downscale)1190*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_downscale) {
1191*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 3; input_height <= 5; input_height += 2) {
1192*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = 3; input_width <= 5; input_width += 2) {
1193*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1194*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, input_width)
1195*4bdc9457SAndroid Build Coastguard Worker         .output_size(2, 2)
1196*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1197*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1198*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
1199*4bdc9457SAndroid Build Coastguard Worker     }
1200*4bdc9457SAndroid Build Coastguard Worker   }
1201*4bdc9457SAndroid Build Coastguard Worker }
1202*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_identical_size)1203*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_identical_size) {
1204*4bdc9457SAndroid Build Coastguard Worker   for (size_t height = 1; height < 10; height *= 3) {
1205*4bdc9457SAndroid Build Coastguard Worker     for (size_t width = 1; width < 10; width *= 3) {
1206*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1207*4bdc9457SAndroid Build Coastguard Worker         .align_corners(true)
1208*4bdc9457SAndroid Build Coastguard Worker         .input_size(height, width)
1209*4bdc9457SAndroid Build Coastguard Worker         .output_size(height, width)
1210*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1211*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1212*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
1213*4bdc9457SAndroid Build Coastguard Worker     }
1214*4bdc9457SAndroid Build Coastguard Worker   }
1215*4bdc9457SAndroid Build Coastguard Worker }
1216*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_varying_channels)1217*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_varying_channels) {
1218*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1219*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1220*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
1221*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1222*4bdc9457SAndroid Build Coastguard Worker           .align_corners(true)
1223*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1224*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1225*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
1226*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1227*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxS8();
1228*4bdc9457SAndroid Build Coastguard Worker       }
1229*4bdc9457SAndroid Build Coastguard Worker     }
1230*4bdc9457SAndroid Build Coastguard Worker   }
1231*4bdc9457SAndroid Build Coastguard Worker }
1232*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_with_input_stride)1233*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_with_input_stride) {
1234*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1235*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1236*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
1237*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1238*4bdc9457SAndroid Build Coastguard Worker           .align_corners(true)
1239*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1240*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1241*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
1242*4bdc9457SAndroid Build Coastguard Worker           .input_pixel_stride(23)
1243*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1244*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxS8();
1245*4bdc9457SAndroid Build Coastguard Worker       }
1246*4bdc9457SAndroid Build Coastguard Worker     }
1247*4bdc9457SAndroid Build Coastguard Worker   }
1248*4bdc9457SAndroid Build Coastguard Worker }
1249*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_with_output_stride)1250*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_with_output_stride) {
1251*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1252*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1253*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
1254*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1255*4bdc9457SAndroid Build Coastguard Worker           .align_corners(true)
1256*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1257*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1258*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
1259*4bdc9457SAndroid Build Coastguard Worker           .output_pixel_stride(29)
1260*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1261*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxS8();
1262*4bdc9457SAndroid Build Coastguard Worker       }
1263*4bdc9457SAndroid Build Coastguard Worker     }
1264*4bdc9457SAndroid Build Coastguard Worker   }
1265*4bdc9457SAndroid Build Coastguard Worker }
1266*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_varying_batch_size)1267*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_varying_batch_size) {
1268*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1269*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1270*4bdc9457SAndroid Build Coastguard Worker       for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
1271*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1272*4bdc9457SAndroid Build Coastguard Worker           .align_corners(true)
1273*4bdc9457SAndroid Build Coastguard Worker           .batch_size(batch_size)
1274*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1275*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1276*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1277*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxS8();
1278*4bdc9457SAndroid Build Coastguard Worker       }
1279*4bdc9457SAndroid Build Coastguard Worker     }
1280*4bdc9457SAndroid Build Coastguard Worker   }
1281*4bdc9457SAndroid Build Coastguard Worker }
1282*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_upscale_y)1283*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_upscale_y) {
1284*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 1; input_height <= 3; input_height++) {
1285*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
1286*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1287*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
1288*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
1289*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
1290*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1291*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1292*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
1293*4bdc9457SAndroid Build Coastguard Worker     }
1294*4bdc9457SAndroid Build Coastguard Worker   }
1295*4bdc9457SAndroid Build Coastguard Worker }
1296*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_upscale_x)1297*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_upscale_x) {
1298*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_width = 1; input_width <= 3; input_width++) {
1299*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
1300*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1301*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
1302*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
1303*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
1304*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1305*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1306*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
1307*4bdc9457SAndroid Build Coastguard Worker     }
1308*4bdc9457SAndroid Build Coastguard Worker   }
1309*4bdc9457SAndroid Build Coastguard Worker }
1310*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_upscale)1311*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_upscale) {
1312*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 3; output_height <= 5; output_height += 2) {
1313*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = 3; output_width <= 5; output_width += 2) {
1314*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1315*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
1316*4bdc9457SAndroid Build Coastguard Worker         .input_size(2, 2)
1317*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, output_width)
1318*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1319*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1320*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
1321*4bdc9457SAndroid Build Coastguard Worker     }
1322*4bdc9457SAndroid Build Coastguard Worker   }
1323*4bdc9457SAndroid Build Coastguard Worker }
1324*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_downscale_y)1325*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_downscale_y) {
1326*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 1; output_height <= 3; output_height++) {
1327*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
1328*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1329*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
1330*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
1331*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
1332*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1333*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1334*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
1335*4bdc9457SAndroid Build Coastguard Worker     }
1336*4bdc9457SAndroid Build Coastguard Worker   }
1337*4bdc9457SAndroid Build Coastguard Worker }
1338*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_downscale_x)1339*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_downscale_x) {
1340*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_width = 1; output_width <= 3; output_width++) {
1341*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
1342*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1343*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
1344*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
1345*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
1346*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1347*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1348*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
1349*4bdc9457SAndroid Build Coastguard Worker     }
1350*4bdc9457SAndroid Build Coastguard Worker   }
1351*4bdc9457SAndroid Build Coastguard Worker }
1352*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_downscale)1353*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_downscale) {
1354*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 3; input_height <= 5; input_height += 2) {
1355*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = 3; input_width <= 5; input_width += 2) {
1356*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1357*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
1358*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, input_width)
1359*4bdc9457SAndroid Build Coastguard Worker         .output_size(2, 2)
1360*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1361*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1362*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
1363*4bdc9457SAndroid Build Coastguard Worker     }
1364*4bdc9457SAndroid Build Coastguard Worker   }
1365*4bdc9457SAndroid Build Coastguard Worker }
1366*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_identical_size)1367*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_identical_size) {
1368*4bdc9457SAndroid Build Coastguard Worker   for (size_t height = 1; height < 10; height *= 3) {
1369*4bdc9457SAndroid Build Coastguard Worker     for (size_t width = 1; width < 10; width *= 3) {
1370*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1371*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
1372*4bdc9457SAndroid Build Coastguard Worker         .input_size(height, width)
1373*4bdc9457SAndroid Build Coastguard Worker         .output_size(height, width)
1374*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1375*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1376*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxS8();
1377*4bdc9457SAndroid Build Coastguard Worker     }
1378*4bdc9457SAndroid Build Coastguard Worker   }
1379*4bdc9457SAndroid Build Coastguard Worker }
1380*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_varying_channels)1381*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_varying_channels) {
1382*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1383*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1384*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
1385*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1386*4bdc9457SAndroid Build Coastguard Worker           .tf_legacy_mode(true)
1387*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1388*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1389*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
1390*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1391*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxS8();
1392*4bdc9457SAndroid Build Coastguard Worker       }
1393*4bdc9457SAndroid Build Coastguard Worker     }
1394*4bdc9457SAndroid Build Coastguard Worker   }
1395*4bdc9457SAndroid Build Coastguard Worker }
1396*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_with_input_stride)1397*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_with_input_stride) {
1398*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1399*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1400*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
1401*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1402*4bdc9457SAndroid Build Coastguard Worker           .tf_legacy_mode(true)
1403*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1404*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1405*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
1406*4bdc9457SAndroid Build Coastguard Worker           .input_pixel_stride(23)
1407*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1408*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxS8();
1409*4bdc9457SAndroid Build Coastguard Worker       }
1410*4bdc9457SAndroid Build Coastguard Worker     }
1411*4bdc9457SAndroid Build Coastguard Worker   }
1412*4bdc9457SAndroid Build Coastguard Worker }
1413*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_with_output_stride)1414*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_with_output_stride) {
1415*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1416*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1417*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
1418*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1419*4bdc9457SAndroid Build Coastguard Worker           .tf_legacy_mode(true)
1420*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1421*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1422*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
1423*4bdc9457SAndroid Build Coastguard Worker           .output_pixel_stride(29)
1424*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1425*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxS8();
1426*4bdc9457SAndroid Build Coastguard Worker       }
1427*4bdc9457SAndroid Build Coastguard Worker     }
1428*4bdc9457SAndroid Build Coastguard Worker   }
1429*4bdc9457SAndroid Build Coastguard Worker }
1430*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_varying_batch_size)1431*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_varying_batch_size) {
1432*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1433*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1434*4bdc9457SAndroid Build Coastguard Worker       for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
1435*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1436*4bdc9457SAndroid Build Coastguard Worker           .tf_legacy_mode(true)
1437*4bdc9457SAndroid Build Coastguard Worker           .batch_size(batch_size)
1438*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1439*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1440*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1441*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxS8();
1442*4bdc9457SAndroid Build Coastguard Worker       }
1443*4bdc9457SAndroid Build Coastguard Worker     }
1444*4bdc9457SAndroid Build Coastguard Worker   }
1445*4bdc9457SAndroid Build Coastguard Worker }
1446*4bdc9457SAndroid Build Coastguard Worker 
1447*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_upscale_y)1448*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_upscale_y) {
1449*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 1; input_height <= 3; input_height++) {
1450*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
1451*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1452*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
1453*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
1454*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1455*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1456*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1457*4bdc9457SAndroid Build Coastguard Worker     }
1458*4bdc9457SAndroid Build Coastguard Worker   }
1459*4bdc9457SAndroid Build Coastguard Worker }
1460*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_upscale_x)1461*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_upscale_x) {
1462*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_width = 1; input_width <= 3; input_width++) {
1463*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
1464*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1465*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
1466*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
1467*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1468*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1469*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1470*4bdc9457SAndroid Build Coastguard Worker     }
1471*4bdc9457SAndroid Build Coastguard Worker   }
1472*4bdc9457SAndroid Build Coastguard Worker }
1473*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_upscale)1474*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_upscale) {
1475*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 3; output_height <= 5; output_height += 2) {
1476*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = 3; output_width <= 5; output_width += 2) {
1477*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1478*4bdc9457SAndroid Build Coastguard Worker         .input_size(2, 2)
1479*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, output_width)
1480*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1481*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1482*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1483*4bdc9457SAndroid Build Coastguard Worker     }
1484*4bdc9457SAndroid Build Coastguard Worker   }
1485*4bdc9457SAndroid Build Coastguard Worker }
1486*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_downscale_y)1487*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_downscale_y) {
1488*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 1; output_height <= 3; output_height++) {
1489*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
1490*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1491*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
1492*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
1493*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1494*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1495*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1496*4bdc9457SAndroid Build Coastguard Worker     }
1497*4bdc9457SAndroid Build Coastguard Worker   }
1498*4bdc9457SAndroid Build Coastguard Worker }
1499*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_downscale_x)1500*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_downscale_x) {
1501*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_width = 1; output_width <= 3; output_width++) {
1502*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
1503*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1504*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
1505*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
1506*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1507*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1508*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1509*4bdc9457SAndroid Build Coastguard Worker     }
1510*4bdc9457SAndroid Build Coastguard Worker   }
1511*4bdc9457SAndroid Build Coastguard Worker }
1512*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_downscale)1513*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_downscale) {
1514*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 3; input_height <= 5; input_height += 2) {
1515*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = 3; input_width <= 5; input_width += 2) {
1516*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1517*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, input_width)
1518*4bdc9457SAndroid Build Coastguard Worker         .output_size(2, 2)
1519*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1520*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1521*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1522*4bdc9457SAndroid Build Coastguard Worker     }
1523*4bdc9457SAndroid Build Coastguard Worker   }
1524*4bdc9457SAndroid Build Coastguard Worker }
1525*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_identical_size)1526*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_identical_size) {
1527*4bdc9457SAndroid Build Coastguard Worker   for (size_t height = 1; height < 10; height *= 3) {
1528*4bdc9457SAndroid Build Coastguard Worker     for (size_t width = 1; width < 10; width *= 3) {
1529*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1530*4bdc9457SAndroid Build Coastguard Worker         .input_size(height, width)
1531*4bdc9457SAndroid Build Coastguard Worker         .output_size(height, width)
1532*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1533*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1534*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1535*4bdc9457SAndroid Build Coastguard Worker     }
1536*4bdc9457SAndroid Build Coastguard Worker   }
1537*4bdc9457SAndroid Build Coastguard Worker }
1538*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_varying_channels)1539*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_varying_channels) {
1540*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1541*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1542*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
1543*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1544*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1545*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1546*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
1547*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1548*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxU8();
1549*4bdc9457SAndroid Build Coastguard Worker       }
1550*4bdc9457SAndroid Build Coastguard Worker     }
1551*4bdc9457SAndroid Build Coastguard Worker   }
1552*4bdc9457SAndroid Build Coastguard Worker }
1553*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_with_input_stride)1554*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_with_input_stride) {
1555*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1556*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1557*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
1558*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1559*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1560*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1561*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
1562*4bdc9457SAndroid Build Coastguard Worker           .input_pixel_stride(23)
1563*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1564*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxU8();
1565*4bdc9457SAndroid Build Coastguard Worker       }
1566*4bdc9457SAndroid Build Coastguard Worker     }
1567*4bdc9457SAndroid Build Coastguard Worker   }
1568*4bdc9457SAndroid Build Coastguard Worker }
1569*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_with_output_stride)1570*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_with_output_stride) {
1571*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1572*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1573*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
1574*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1575*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1576*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1577*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
1578*4bdc9457SAndroid Build Coastguard Worker           .output_pixel_stride(29)
1579*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1580*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxU8();
1581*4bdc9457SAndroid Build Coastguard Worker       }
1582*4bdc9457SAndroid Build Coastguard Worker     }
1583*4bdc9457SAndroid Build Coastguard Worker   }
1584*4bdc9457SAndroid Build Coastguard Worker }
1585*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_varying_batch_size)1586*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_varying_batch_size) {
1587*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1588*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1589*4bdc9457SAndroid Build Coastguard Worker       for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
1590*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1591*4bdc9457SAndroid Build Coastguard Worker           .batch_size(batch_size)
1592*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1593*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1594*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1595*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxU8();
1596*4bdc9457SAndroid Build Coastguard Worker       }
1597*4bdc9457SAndroid Build Coastguard Worker     }
1598*4bdc9457SAndroid Build Coastguard Worker   }
1599*4bdc9457SAndroid Build Coastguard Worker }
1600*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_upscale_y)1601*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_upscale_y) {
1602*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 1; input_height <= 3; input_height++) {
1603*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
1604*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1605*4bdc9457SAndroid Build Coastguard Worker         .align_corners(true)
1606*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
1607*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
1608*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1609*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1610*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1611*4bdc9457SAndroid Build Coastguard Worker     }
1612*4bdc9457SAndroid Build Coastguard Worker   }
1613*4bdc9457SAndroid Build Coastguard Worker }
1614*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_upscale_x)1615*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_upscale_x) {
1616*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_width = 1; input_width <= 3; input_width++) {
1617*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
1618*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1619*4bdc9457SAndroid Build Coastguard Worker         .align_corners(true)
1620*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
1621*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
1622*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1623*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1624*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1625*4bdc9457SAndroid Build Coastguard Worker     }
1626*4bdc9457SAndroid Build Coastguard Worker   }
1627*4bdc9457SAndroid Build Coastguard Worker }
1628*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_upscale)1629*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_upscale) {
1630*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 3; output_height <= 5; output_height += 2) {
1631*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = 3; output_width <= 5; output_width += 2) {
1632*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1633*4bdc9457SAndroid Build Coastguard Worker         .align_corners(true)
1634*4bdc9457SAndroid Build Coastguard Worker         .input_size(2, 2)
1635*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, output_width)
1636*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1637*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1638*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1639*4bdc9457SAndroid Build Coastguard Worker     }
1640*4bdc9457SAndroid Build Coastguard Worker   }
1641*4bdc9457SAndroid Build Coastguard Worker }
1642*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_downscale_y)1643*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_downscale_y) {
1644*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 2; output_height <= 3; output_height++) {
1645*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
1646*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1647*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
1648*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
1649*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1650*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1651*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1652*4bdc9457SAndroid Build Coastguard Worker     }
1653*4bdc9457SAndroid Build Coastguard Worker   }
1654*4bdc9457SAndroid Build Coastguard Worker }
1655*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_downscale_x)1656*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_downscale_x) {
1657*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_width = 2; output_width <= 3; output_width++) {
1658*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
1659*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1660*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
1661*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
1662*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1663*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1664*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1665*4bdc9457SAndroid Build Coastguard Worker     }
1666*4bdc9457SAndroid Build Coastguard Worker   }
1667*4bdc9457SAndroid Build Coastguard Worker }
1668*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_downscale)1669*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_downscale) {
1670*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 3; input_height <= 5; input_height += 2) {
1671*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = 3; input_width <= 5; input_width += 2) {
1672*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1673*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, input_width)
1674*4bdc9457SAndroid Build Coastguard Worker         .output_size(2, 2)
1675*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1676*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1677*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1678*4bdc9457SAndroid Build Coastguard Worker     }
1679*4bdc9457SAndroid Build Coastguard Worker   }
1680*4bdc9457SAndroid Build Coastguard Worker }
1681*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_identical_size)1682*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_identical_size) {
1683*4bdc9457SAndroid Build Coastguard Worker   for (size_t height = 1; height < 10; height *= 3) {
1684*4bdc9457SAndroid Build Coastguard Worker     for (size_t width = 1; width < 10; width *= 3) {
1685*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1686*4bdc9457SAndroid Build Coastguard Worker         .align_corners(true)
1687*4bdc9457SAndroid Build Coastguard Worker         .input_size(height, width)
1688*4bdc9457SAndroid Build Coastguard Worker         .output_size(height, width)
1689*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1690*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1691*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1692*4bdc9457SAndroid Build Coastguard Worker     }
1693*4bdc9457SAndroid Build Coastguard Worker   }
1694*4bdc9457SAndroid Build Coastguard Worker }
1695*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_varying_channels)1696*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_varying_channels) {
1697*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1698*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1699*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
1700*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1701*4bdc9457SAndroid Build Coastguard Worker           .align_corners(true)
1702*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1703*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1704*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
1705*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1706*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxU8();
1707*4bdc9457SAndroid Build Coastguard Worker       }
1708*4bdc9457SAndroid Build Coastguard Worker     }
1709*4bdc9457SAndroid Build Coastguard Worker   }
1710*4bdc9457SAndroid Build Coastguard Worker }
1711*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_with_input_stride)1712*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_with_input_stride) {
1713*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1714*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1715*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
1716*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1717*4bdc9457SAndroid Build Coastguard Worker           .align_corners(true)
1718*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1719*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1720*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
1721*4bdc9457SAndroid Build Coastguard Worker           .input_pixel_stride(23)
1722*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1723*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxU8();
1724*4bdc9457SAndroid Build Coastguard Worker       }
1725*4bdc9457SAndroid Build Coastguard Worker     }
1726*4bdc9457SAndroid Build Coastguard Worker   }
1727*4bdc9457SAndroid Build Coastguard Worker }
1728*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_with_output_stride)1729*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_with_output_stride) {
1730*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1731*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1732*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
1733*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1734*4bdc9457SAndroid Build Coastguard Worker           .align_corners(true)
1735*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1736*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1737*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
1738*4bdc9457SAndroid Build Coastguard Worker           .output_pixel_stride(29)
1739*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1740*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxU8();
1741*4bdc9457SAndroid Build Coastguard Worker       }
1742*4bdc9457SAndroid Build Coastguard Worker     }
1743*4bdc9457SAndroid Build Coastguard Worker   }
1744*4bdc9457SAndroid Build Coastguard Worker }
1745*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_varying_batch_size)1746*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_varying_batch_size) {
1747*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1748*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1749*4bdc9457SAndroid Build Coastguard Worker       for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
1750*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1751*4bdc9457SAndroid Build Coastguard Worker           .align_corners(true)
1752*4bdc9457SAndroid Build Coastguard Worker           .batch_size(batch_size)
1753*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1754*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1755*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1756*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxU8();
1757*4bdc9457SAndroid Build Coastguard Worker       }
1758*4bdc9457SAndroid Build Coastguard Worker     }
1759*4bdc9457SAndroid Build Coastguard Worker   }
1760*4bdc9457SAndroid Build Coastguard Worker }
1761*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_upscale_y)1762*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_upscale_y) {
1763*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 1; input_height <= 3; input_height++) {
1764*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
1765*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1766*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
1767*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
1768*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
1769*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1770*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1771*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1772*4bdc9457SAndroid Build Coastguard Worker     }
1773*4bdc9457SAndroid Build Coastguard Worker   }
1774*4bdc9457SAndroid Build Coastguard Worker }
1775*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_upscale_x)1776*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_upscale_x) {
1777*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_width = 1; input_width <= 3; input_width++) {
1778*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
1779*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1780*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
1781*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
1782*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
1783*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1784*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1785*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1786*4bdc9457SAndroid Build Coastguard Worker     }
1787*4bdc9457SAndroid Build Coastguard Worker   }
1788*4bdc9457SAndroid Build Coastguard Worker }
1789*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_upscale)1790*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_upscale) {
1791*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 3; output_height <= 5; output_height += 2) {
1792*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_width = 3; output_width <= 5; output_width += 2) {
1793*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1794*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
1795*4bdc9457SAndroid Build Coastguard Worker         .input_size(2, 2)
1796*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, output_width)
1797*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1798*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1799*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1800*4bdc9457SAndroid Build Coastguard Worker     }
1801*4bdc9457SAndroid Build Coastguard Worker   }
1802*4bdc9457SAndroid Build Coastguard Worker }
1803*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_downscale_y)1804*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_downscale_y) {
1805*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_height = 1; output_height <= 3; output_height++) {
1806*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
1807*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1808*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
1809*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, 1)
1810*4bdc9457SAndroid Build Coastguard Worker         .output_size(output_height, 1)
1811*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1812*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1813*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1814*4bdc9457SAndroid Build Coastguard Worker     }
1815*4bdc9457SAndroid Build Coastguard Worker   }
1816*4bdc9457SAndroid Build Coastguard Worker }
1817*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_downscale_x)1818*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_downscale_x) {
1819*4bdc9457SAndroid Build Coastguard Worker   for (size_t output_width = 1; output_width <= 3; output_width++) {
1820*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
1821*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1822*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
1823*4bdc9457SAndroid Build Coastguard Worker         .input_size(1, input_width)
1824*4bdc9457SAndroid Build Coastguard Worker         .output_size(1, output_width)
1825*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1826*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1827*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1828*4bdc9457SAndroid Build Coastguard Worker     }
1829*4bdc9457SAndroid Build Coastguard Worker   }
1830*4bdc9457SAndroid Build Coastguard Worker }
1831*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_downscale)1832*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_downscale) {
1833*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_height = 3; input_height <= 5; input_height += 2) {
1834*4bdc9457SAndroid Build Coastguard Worker     for (size_t input_width = 3; input_width <= 5; input_width += 2) {
1835*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1836*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
1837*4bdc9457SAndroid Build Coastguard Worker         .input_size(input_height, input_width)
1838*4bdc9457SAndroid Build Coastguard Worker         .output_size(2, 2)
1839*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1840*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1841*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1842*4bdc9457SAndroid Build Coastguard Worker     }
1843*4bdc9457SAndroid Build Coastguard Worker   }
1844*4bdc9457SAndroid Build Coastguard Worker }
1845*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_identical_size)1846*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_identical_size) {
1847*4bdc9457SAndroid Build Coastguard Worker   for (size_t height = 1; height < 10; height *= 3) {
1848*4bdc9457SAndroid Build Coastguard Worker     for (size_t width = 1; width < 10; width *= 3) {
1849*4bdc9457SAndroid Build Coastguard Worker       ResizeBilinearOperatorTester()
1850*4bdc9457SAndroid Build Coastguard Worker         .tf_legacy_mode(true)
1851*4bdc9457SAndroid Build Coastguard Worker         .input_size(height, width)
1852*4bdc9457SAndroid Build Coastguard Worker         .output_size(height, width)
1853*4bdc9457SAndroid Build Coastguard Worker         .channels(17)
1854*4bdc9457SAndroid Build Coastguard Worker         .iterations(3)
1855*4bdc9457SAndroid Build Coastguard Worker         .TestNHWCxU8();
1856*4bdc9457SAndroid Build Coastguard Worker     }
1857*4bdc9457SAndroid Build Coastguard Worker   }
1858*4bdc9457SAndroid Build Coastguard Worker }
1859*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_varying_channels)1860*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_varying_channels) {
1861*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1862*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1863*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
1864*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1865*4bdc9457SAndroid Build Coastguard Worker           .tf_legacy_mode(true)
1866*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1867*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1868*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
1869*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1870*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxU8();
1871*4bdc9457SAndroid Build Coastguard Worker       }
1872*4bdc9457SAndroid Build Coastguard Worker     }
1873*4bdc9457SAndroid Build Coastguard Worker   }
1874*4bdc9457SAndroid Build Coastguard Worker }
1875*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_with_input_stride)1876*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_with_input_stride) {
1877*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1878*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1879*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
1880*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1881*4bdc9457SAndroid Build Coastguard Worker           .tf_legacy_mode(true)
1882*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1883*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1884*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
1885*4bdc9457SAndroid Build Coastguard Worker           .input_pixel_stride(23)
1886*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1887*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxU8();
1888*4bdc9457SAndroid Build Coastguard Worker       }
1889*4bdc9457SAndroid Build Coastguard Worker     }
1890*4bdc9457SAndroid Build Coastguard Worker   }
1891*4bdc9457SAndroid Build Coastguard Worker }
1892*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_with_output_stride)1893*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_with_output_stride) {
1894*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1895*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1896*4bdc9457SAndroid Build Coastguard Worker       for (size_t channels = 15; channels <= 19; channels++) {
1897*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1898*4bdc9457SAndroid Build Coastguard Worker           .tf_legacy_mode(true)
1899*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1900*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1901*4bdc9457SAndroid Build Coastguard Worker           .channels(channels)
1902*4bdc9457SAndroid Build Coastguard Worker           .output_pixel_stride(29)
1903*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1904*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxU8();
1905*4bdc9457SAndroid Build Coastguard Worker       }
1906*4bdc9457SAndroid Build Coastguard Worker     }
1907*4bdc9457SAndroid Build Coastguard Worker   }
1908*4bdc9457SAndroid Build Coastguard Worker }
1909*4bdc9457SAndroid Build Coastguard Worker 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_varying_batch_size)1910*4bdc9457SAndroid Build Coastguard Worker TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_varying_batch_size) {
1911*4bdc9457SAndroid Build Coastguard Worker   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1912*4bdc9457SAndroid Build Coastguard Worker     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1913*4bdc9457SAndroid Build Coastguard Worker       for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
1914*4bdc9457SAndroid Build Coastguard Worker         ResizeBilinearOperatorTester()
1915*4bdc9457SAndroid Build Coastguard Worker           .tf_legacy_mode(true)
1916*4bdc9457SAndroid Build Coastguard Worker           .batch_size(batch_size)
1917*4bdc9457SAndroid Build Coastguard Worker           .input_size(output_size, output_size)
1918*4bdc9457SAndroid Build Coastguard Worker           .output_size(output_size, output_size)
1919*4bdc9457SAndroid Build Coastguard Worker           .iterations(3)
1920*4bdc9457SAndroid Build Coastguard Worker           .TestNHWCxU8();
1921*4bdc9457SAndroid Build Coastguard Worker       }
1922*4bdc9457SAndroid Build Coastguard Worker     }
1923*4bdc9457SAndroid Build Coastguard Worker   }
1924*4bdc9457SAndroid Build Coastguard Worker }
1925