xref: /aosp_15_r20/external/XNNPACK/test/u8-lut32norm.cc (revision 4bdc94577ba0e567308109d787f7fec7b531ce36)
1*4bdc9457SAndroid Build Coastguard Worker // Copyright (c) Facebook, Inc. and its affiliates.
2*4bdc9457SAndroid Build Coastguard Worker // All rights reserved.
3*4bdc9457SAndroid Build Coastguard Worker //
4*4bdc9457SAndroid Build Coastguard Worker // Copyright 2019 Google LLC
5*4bdc9457SAndroid Build Coastguard Worker //
6*4bdc9457SAndroid Build Coastguard Worker // This source code is licensed under the BSD-style license found in the
7*4bdc9457SAndroid Build Coastguard Worker // LICENSE file in the root directory of this source tree.
8*4bdc9457SAndroid Build Coastguard Worker 
9*4bdc9457SAndroid Build Coastguard Worker #include <gtest/gtest.h>
10*4bdc9457SAndroid Build Coastguard Worker 
11*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack/lut.h>
12*4bdc9457SAndroid Build Coastguard Worker #include "lut-norm-microkernel-tester.h"
13*4bdc9457SAndroid Build Coastguard Worker 
14*4bdc9457SAndroid Build Coastguard Worker 
TEST(U8_LUT32NORM__SCALAR,n_eq_1)15*4bdc9457SAndroid Build Coastguard Worker TEST(U8_LUT32NORM__SCALAR, n_eq_1) {
16*4bdc9457SAndroid Build Coastguard Worker   LUTNormMicrokernelTester()
17*4bdc9457SAndroid Build Coastguard Worker     .n(1)
18*4bdc9457SAndroid Build Coastguard Worker     .Test(xnn_u8_lut32norm_ukernel__scalar);
19*4bdc9457SAndroid Build Coastguard Worker }
20*4bdc9457SAndroid Build Coastguard Worker 
TEST(U8_LUT32NORM__SCALAR,small_n)21*4bdc9457SAndroid Build Coastguard Worker TEST(U8_LUT32NORM__SCALAR, small_n) {
22*4bdc9457SAndroid Build Coastguard Worker   for (size_t n = 2; n <= 16; n++) {
23*4bdc9457SAndroid Build Coastguard Worker     LUTNormMicrokernelTester()
24*4bdc9457SAndroid Build Coastguard Worker       .n(n)
25*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_u8_lut32norm_ukernel__scalar);
26*4bdc9457SAndroid Build Coastguard Worker   }
27*4bdc9457SAndroid Build Coastguard Worker }
28*4bdc9457SAndroid Build Coastguard Worker 
TEST(U8_LUT32NORM__SCALAR,large_n)29*4bdc9457SAndroid Build Coastguard Worker TEST(U8_LUT32NORM__SCALAR, large_n) {
30*4bdc9457SAndroid Build Coastguard Worker   for (size_t n = 16; n <= 128; n+=2) {
31*4bdc9457SAndroid Build Coastguard Worker     LUTNormMicrokernelTester()
32*4bdc9457SAndroid Build Coastguard Worker       .n(n)
33*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_u8_lut32norm_ukernel__scalar);
34*4bdc9457SAndroid Build Coastguard Worker   }
35*4bdc9457SAndroid Build Coastguard Worker }
36*4bdc9457SAndroid Build Coastguard Worker 
TEST(U8_LUT32NORM__SCALAR,n_eq_1_inplace)37*4bdc9457SAndroid Build Coastguard Worker TEST(U8_LUT32NORM__SCALAR, n_eq_1_inplace) {
38*4bdc9457SAndroid Build Coastguard Worker   LUTNormMicrokernelTester()
39*4bdc9457SAndroid Build Coastguard Worker     .n(1)
40*4bdc9457SAndroid Build Coastguard Worker     .inplace(true)
41*4bdc9457SAndroid Build Coastguard Worker     .Test(xnn_u8_lut32norm_ukernel__scalar);
42*4bdc9457SAndroid Build Coastguard Worker }
43*4bdc9457SAndroid Build Coastguard Worker 
TEST(U8_LUT32NORM__SCALAR,small_n_inplace)44*4bdc9457SAndroid Build Coastguard Worker TEST(U8_LUT32NORM__SCALAR, small_n_inplace) {
45*4bdc9457SAndroid Build Coastguard Worker   for (size_t n = 2; n <= 16; n++) {
46*4bdc9457SAndroid Build Coastguard Worker     LUTNormMicrokernelTester()
47*4bdc9457SAndroid Build Coastguard Worker       .n(n)
48*4bdc9457SAndroid Build Coastguard Worker       .inplace(true)
49*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_u8_lut32norm_ukernel__scalar);
50*4bdc9457SAndroid Build Coastguard Worker   }
51*4bdc9457SAndroid Build Coastguard Worker }
52*4bdc9457SAndroid Build Coastguard Worker 
TEST(U8_LUT32NORM__SCALAR,large_n_inplace)53*4bdc9457SAndroid Build Coastguard Worker TEST(U8_LUT32NORM__SCALAR, large_n_inplace) {
54*4bdc9457SAndroid Build Coastguard Worker   for (size_t n = 16; n <= 128; n+=2) {
55*4bdc9457SAndroid Build Coastguard Worker     LUTNormMicrokernelTester()
56*4bdc9457SAndroid Build Coastguard Worker       .n(n)
57*4bdc9457SAndroid Build Coastguard Worker       .inplace(true)
58*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_u8_lut32norm_ukernel__scalar);
59*4bdc9457SAndroid Build Coastguard Worker   }
60*4bdc9457SAndroid Build Coastguard Worker }
61