• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // 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 
TEST(CLAMP_NC_S8,unit_batch)14 TEST(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 
TEST(CLAMP_NC_S8,unit_batch_with_qmin)24 TEST(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 
TEST(CLAMP_NC_S8,unit_batch_with_qmax)38 TEST(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 
TEST(CLAMP_NC_S8,small_batch)52 TEST(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 
TEST(CLAMP_NC_S8,small_batch_with_input_stride)62 TEST(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 
TEST(CLAMP_NC_S8,small_batch_with_output_stride)73 TEST(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 
TEST(CLAMP_NC_S8,small_batch_with_input_and_output_stride)84 TEST(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 
TEST(CLAMP_NC_U8,unit_batch)96 TEST(CLAMP_NC_U8, unit_batch) {
97   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 
TEST(CLAMP_NC_U8,unit_batch_with_qmin)106 TEST(CLAMP_NC_U8, unit_batch_with_qmin) {
107   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 
TEST(CLAMP_NC_U8,unit_batch_with_qmax)120 TEST(CLAMP_NC_U8, unit_batch_with_qmax) {
121   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 
TEST(CLAMP_NC_U8,small_batch)134 TEST(CLAMP_NC_U8, small_batch) {
135   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 
TEST(CLAMP_NC_U8,small_batch_with_input_stride)144 TEST(CLAMP_NC_U8, small_batch_with_input_stride) {
145   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 
TEST(CLAMP_NC_U8,small_batch_with_output_stride)155 TEST(CLAMP_NC_U8, small_batch_with_output_stride) {
156   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 
TEST(CLAMP_NC_U8,small_batch_with_input_and_output_stride)166 TEST(CLAMP_NC_U8, small_batch_with_input_and_output_stride) {
167   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 
TEST(CLAMP_NC_F32,unit_batch)178 TEST(CLAMP_NC_F32, unit_batch) {
179   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 
TEST(CLAMP_NC_F32,unit_batch_with_qmin)188 TEST(CLAMP_NC_F32, unit_batch_with_qmin) {
189   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 
TEST(CLAMP_NC_F32,unit_batch_with_qmax)202 TEST(CLAMP_NC_F32, unit_batch_with_qmax) {
203   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 
TEST(CLAMP_NC_F32,unit_batch_with_relu)216 TEST(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 }
TEST(CLAMP_NC_F32,small_batch)226 TEST(CLAMP_NC_F32, small_batch) {
227   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 
TEST(CLAMP_NC_F32,small_batch_with_input_stride)236 TEST(CLAMP_NC_F32, small_batch_with_input_stride) {
237   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 
TEST(CLAMP_NC_F32,small_batch_with_output_stride)247 TEST(CLAMP_NC_F32, small_batch_with_output_stride) {
248   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 
TEST(CLAMP_NC_F32,small_batch_with_input_and_output_stride)258 TEST(CLAMP_NC_F32, small_batch_with_input_and_output_stride) {
259   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 }
269