blob: 4ad035cc2c0479d49191924df6297ac19155d03b [file] [log] [blame]
XNNPACK Teamb455b122019-09-27 18:10:33 -07001// Copyright (c) Facebook, Inc. and its affiliates.
2// All rights reserved.
3//
4// Copyright 2019 Google LLC
5//
6// This source code is licensed under the BSD-style license found in the
7// LICENSE file in the root directory of this source tree.
8
9#include <gtest/gtest.h>
10
11#include "clamp-operator-tester.h"
12
13
Marat Dukhan61c0c9e2021-08-16 23:16:14 -070014TEST(CLAMP_NC_S8, unit_batch) {
15 for (size_t channels = 1; channels < 100; channels++) {
16 ClampOperatorTester()
17 .batch_size(1)
18 .channels(channels)
19 .iterations(3)
20 .TestS8();
21 }
22}
23
24TEST(CLAMP_NC_S8, unit_batch_with_qmin) {
25 for (size_t channels = 1; channels < 100; channels += 15) {
26 for (uint8_t qmin = 1; qmin < 255; qmin++) {
27 ClampOperatorTester()
28 .batch_size(1)
29 .channels(channels)
30 .qmin(qmin)
31 .qmax(255)
32 .iterations(3)
33 .TestS8();
34 }
35 }
36}
37
38TEST(CLAMP_NC_S8, unit_batch_with_qmax) {
39 for (size_t channels = 1; channels < 100; channels += 15) {
40 for (uint8_t qmax = 1; qmax < 255; qmax++) {
41 ClampOperatorTester()
42 .batch_size(1)
43 .channels(channels)
44 .qmin(0)
45 .qmax(qmax)
46 .iterations(3)
47 .TestS8();
48 }
49 }
50}
51
52TEST(CLAMP_NC_S8, small_batch) {
53 for (size_t channels = 1; channels < 100; channels++) {
54 ClampOperatorTester()
55 .batch_size(3)
56 .channels(channels)
57 .iterations(3)
58 .TestS8();
59 }
60}
61
62TEST(CLAMP_NC_S8, small_batch_with_input_stride) {
63 for (size_t channels = 1; channels < 100; channels += 15) {
64 ClampOperatorTester()
65 .batch_size(3)
66 .channels(channels)
67 .input_stride(129)
68 .iterations(3)
69 .TestS8();
70 }
71}
72
73TEST(CLAMP_NC_S8, small_batch_with_output_stride) {
74 for (size_t channels = 1; channels < 100; channels += 15) {
75 ClampOperatorTester()
76 .batch_size(3)
77 .channels(channels)
78 .output_stride(117)
79 .iterations(3)
80 .TestS8();
81 }
82}
83
84TEST(CLAMP_NC_S8, small_batch_with_input_and_output_stride) {
85 for (size_t channels = 1; channels < 100; channels += 15) {
86 ClampOperatorTester()
87 .batch_size(3)
88 .channels(channels)
89 .input_stride(129)
90 .output_stride(117)
91 .iterations(3)
92 .TestS8();
93 }
94}
95
Marat Dukhanefc47b82019-11-18 09:25:38 -080096TEST(CLAMP_NC_U8, unit_batch) {
XNNPACK Teamb455b122019-09-27 18:10:33 -070097 for (size_t channels = 1; channels < 100; channels++) {
98 ClampOperatorTester()
99 .batch_size(1)
100 .channels(channels)
101 .iterations(3)
102 .TestU8();
103 }
104}
105
Marat Dukhanefc47b82019-11-18 09:25:38 -0800106TEST(CLAMP_NC_U8, unit_batch_with_qmin) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700107 for (size_t channels = 1; channels < 100; channels += 15) {
108 for (uint8_t qmin = 1; qmin < 255; qmin++) {
109 ClampOperatorTester()
110 .batch_size(1)
111 .channels(channels)
112 .qmin(qmin)
113 .qmax(255)
114 .iterations(3)
115 .TestU8();
116 }
117 }
118}
119
Marat Dukhanefc47b82019-11-18 09:25:38 -0800120TEST(CLAMP_NC_U8, unit_batch_with_qmax) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700121 for (size_t channels = 1; channels < 100; channels += 15) {
122 for (uint8_t qmax = 1; qmax < 255; qmax++) {
123 ClampOperatorTester()
124 .batch_size(1)
125 .channels(channels)
126 .qmin(0)
127 .qmax(qmax)
128 .iterations(3)
129 .TestU8();
130 }
131 }
132}
133
Marat Dukhanefc47b82019-11-18 09:25:38 -0800134TEST(CLAMP_NC_U8, small_batch) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700135 for (size_t channels = 1; channels < 100; channels++) {
136 ClampOperatorTester()
137 .batch_size(3)
138 .channels(channels)
139 .iterations(3)
140 .TestU8();
141 }
142}
143
Marat Dukhanefc47b82019-11-18 09:25:38 -0800144TEST(CLAMP_NC_U8, small_batch_with_input_stride) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700145 for (size_t channels = 1; channels < 100; channels += 15) {
146 ClampOperatorTester()
147 .batch_size(3)
148 .channels(channels)
149 .input_stride(129)
150 .iterations(3)
151 .TestU8();
152 }
153}
154
Marat Dukhanefc47b82019-11-18 09:25:38 -0800155TEST(CLAMP_NC_U8, small_batch_with_output_stride) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700156 for (size_t channels = 1; channels < 100; channels += 15) {
157 ClampOperatorTester()
158 .batch_size(3)
159 .channels(channels)
160 .output_stride(117)
161 .iterations(3)
162 .TestU8();
163 }
164}
165
Marat Dukhanefc47b82019-11-18 09:25:38 -0800166TEST(CLAMP_NC_U8, small_batch_with_input_and_output_stride) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700167 for (size_t channels = 1; channels < 100; channels += 15) {
168 ClampOperatorTester()
169 .batch_size(3)
170 .channels(channels)
171 .input_stride(129)
172 .output_stride(117)
173 .iterations(3)
174 .TestU8();
175 }
176}
177
Marat Dukhanefc47b82019-11-18 09:25:38 -0800178TEST(CLAMP_NC_F32, unit_batch) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700179 for (size_t channels = 1; channels < 100; channels++) {
180 ClampOperatorTester()
181 .batch_size(1)
182 .channels(channels)
183 .iterations(3)
184 .TestF32();
185 }
186}
187
Marat Dukhanefc47b82019-11-18 09:25:38 -0800188TEST(CLAMP_NC_F32, unit_batch_with_qmin) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700189 for (size_t channels = 1; channels < 100; channels += 15) {
190 for (uint8_t qmin = 1; qmin < 255; qmin++) {
191 ClampOperatorTester()
192 .batch_size(1)
193 .channels(channels)
194 .qmin(qmin)
195 .qmax(255)
196 .iterations(3)
197 .TestF32();
198 }
199 }
200}
201
Marat Dukhanefc47b82019-11-18 09:25:38 -0800202TEST(CLAMP_NC_F32, unit_batch_with_qmax) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700203 for (size_t channels = 1; channels < 100; channels += 15) {
204 for (uint8_t qmax = 1; qmax < 255; qmax++) {
205 ClampOperatorTester()
206 .batch_size(1)
207 .channels(channels)
208 .qmin(0)
209 .qmax(qmax)
210 .iterations(3)
211 .TestF32();
212 }
213 }
214}
215
Frank Barchard62c5e232020-07-21 17:42:19 -0700216TEST(CLAMP_NC_F32, unit_batch_with_relu) {
217 for (size_t channels = 1; channels < 100; channels++) {
218 ClampOperatorTester()
219 .batch_size(1)
220 .channels(channels)
221 .relu_activation(true)
222 .iterations(3)
223 .TestF32();
224 }
225}
Marat Dukhanefc47b82019-11-18 09:25:38 -0800226TEST(CLAMP_NC_F32, small_batch) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700227 for (size_t channels = 1; channels < 100; channels++) {
228 ClampOperatorTester()
229 .batch_size(3)
230 .channels(channels)
231 .iterations(3)
232 .TestF32();
233 }
234}
235
Marat Dukhanefc47b82019-11-18 09:25:38 -0800236TEST(CLAMP_NC_F32, small_batch_with_input_stride) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700237 for (size_t channels = 1; channels < 100; channels += 15) {
238 ClampOperatorTester()
239 .batch_size(3)
240 .channels(channels)
241 .input_stride(129)
242 .iterations(3)
243 .TestF32();
244 }
245}
246
Marat Dukhanefc47b82019-11-18 09:25:38 -0800247TEST(CLAMP_NC_F32, small_batch_with_output_stride) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700248 for (size_t channels = 1; channels < 100; channels += 15) {
249 ClampOperatorTester()
250 .batch_size(3)
251 .channels(channels)
252 .output_stride(117)
253 .iterations(3)
254 .TestF32();
255 }
256}
257
Marat Dukhanefc47b82019-11-18 09:25:38 -0800258TEST(CLAMP_NC_F32, small_batch_with_input_and_output_stride) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700259 for (size_t channels = 1; channels < 100; channels += 15) {
260 ClampOperatorTester()
261 .batch_size(3)
262 .channels(channels)
263 .input_stride(129)
264 .output_stride(117)
265 .iterations(3)
266 .TestF32();
267 }
268}