blob: 6c609ef28663af73b6746b96f7ab066c19853c36 [file] [log] [blame]
Marat Dukhanefc47b82019-11-18 09:25:38 -08001// Copyright 2019 Google LLC
2//
3// This source code is licensed under the BSD-style license found in the
4// LICENSE file in the root directory of this source tree.
5
6#include <gtest/gtest.h>
7
8#include "global-average-pooling-operator-tester.h"
9
10
11TEST(GLOBAL_AVERAGE_POOLING_NCW_F32, single_channel) {
Marat Dukhan04f03be2019-11-19 12:36:47 -080012 ASSERT_EQ(xnn_status_success, xnn_initialize(nullptr /* allocator */));
Marat Dukhanefc47b82019-11-18 09:25:38 -080013 GlobalAveragePoolingOperatorTester()
14 .width(27)
15 .channels(1)
16 .TestNCWxF32();
17}
18
19TEST(GLOBAL_AVERAGE_POOLING_NCW_F32, varying_channels) {
Marat Dukhan04f03be2019-11-19 12:36:47 -080020 ASSERT_EQ(xnn_status_success, xnn_initialize(nullptr /* allocator */));
Marat Dukhanefc47b82019-11-18 09:25:38 -080021 for (size_t channels = 2; channels <= 16; channels += 3) {
22 GlobalAveragePoolingOperatorTester()
23 .width(27)
24 .channels(channels)
25 .TestNCWxF32();
26 }
27}
28
29TEST(GLOBAL_AVERAGE_POOLING_NCW_F32, varying_width) {
Marat Dukhan04f03be2019-11-19 12:36:47 -080030 ASSERT_EQ(xnn_status_success, xnn_initialize(nullptr /* allocator */));
Marat Dukhanefc47b82019-11-18 09:25:38 -080031 for (size_t width = 25; width <= 31; width++) {
32 GlobalAveragePoolingOperatorTester()
33 .width(width)
34 .channels(19)
35 .TestNCWxF32();
36 }
37}
38
39TEST(GLOBAL_AVERAGE_POOLING_NCW_F32, qmin) {
Marat Dukhan04f03be2019-11-19 12:36:47 -080040 ASSERT_EQ(xnn_status_success, xnn_initialize(nullptr /* allocator */));
Marat Dukhanefc47b82019-11-18 09:25:38 -080041 GlobalAveragePoolingOperatorTester()
42 .width(27)
43 .channels(19)
44 .qmin(128)
45 .TestNCWxF32();
46}
47
48TEST(GLOBAL_AVERAGE_POOLING_NCW_F32, qmax) {
Marat Dukhan04f03be2019-11-19 12:36:47 -080049 ASSERT_EQ(xnn_status_success, xnn_initialize(nullptr /* allocator */));
Marat Dukhanefc47b82019-11-18 09:25:38 -080050 GlobalAveragePoolingOperatorTester()
51 .width(27)
52 .channels(19)
53 .qmax(128)
54 .TestNCWxF32();
55}