blob: ba3a14603b280ded2d45024041818e18fbabe3cd [file] [log] [blame]
Marat Dukhanca2733c2019-11-15 23:21:17 -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
Marat Dukhanb1a0fc32019-12-02 19:32:02 -08008#include "binary-elementwise-operator-tester.h"
Marat Dukhanca2733c2019-11-15 23:21:17 -08009
10
Marat Dukhanefc47b82019-11-18 09:25:38 -080011TEST(MULTIPLY_ND_F32, vector_x_vector) {
Marat Dukhanb1a0fc32019-12-02 19:32:02 -080012 BinaryElementwiseOperatorTester()
13 .operation_type(BinaryElementwiseOperatorTester::OperationType::Multiply)
Marat Dukhanca2733c2019-11-15 23:21:17 -080014 .input1_shape({2})
15 .input2_shape({2})
16 .iterations(1)
17 .TestF32();
18}
19
Marat Dukhanefc47b82019-11-18 09:25:38 -080020TEST(MULTIPLY_ND_F32, vector_x_scalar) {
Marat Dukhanb1a0fc32019-12-02 19:32:02 -080021 BinaryElementwiseOperatorTester()
22 .operation_type(BinaryElementwiseOperatorTester::OperationType::Multiply)
Marat Dukhanca2733c2019-11-15 23:21:17 -080023 .input1_shape({2})
24 .iterations(1)
25 .TestF32();
Marat Dukhanb1a0fc32019-12-02 19:32:02 -080026 BinaryElementwiseOperatorTester()
27 .operation_type(BinaryElementwiseOperatorTester::OperationType::Multiply)
Marat Dukhanca2733c2019-11-15 23:21:17 -080028 .input1_shape({2})
29 .input2_shape({1})
30 .iterations(1)
31 .TestF32();
32}
33
Marat Dukhanefc47b82019-11-18 09:25:38 -080034TEST(MULTIPLY_ND_F32, scalar_x_vector) {
Marat Dukhanb1a0fc32019-12-02 19:32:02 -080035 BinaryElementwiseOperatorTester()
36 .operation_type(BinaryElementwiseOperatorTester::OperationType::Multiply)
Marat Dukhanca2733c2019-11-15 23:21:17 -080037 .input2_shape({2})
38 .iterations(1)
39 .TestF32();
Marat Dukhanb1a0fc32019-12-02 19:32:02 -080040 BinaryElementwiseOperatorTester()
41 .operation_type(BinaryElementwiseOperatorTester::OperationType::Multiply)
Marat Dukhanca2733c2019-11-15 23:21:17 -080042 .input1_shape({1})
43 .input2_shape({2})
44 .iterations(1)
45 .TestF32();
46}
47
Marat Dukhanefc47b82019-11-18 09:25:38 -080048TEST(MULTIPLY_ND_F32, matrix_x_matrix) {
Marat Dukhanb1a0fc32019-12-02 19:32:02 -080049 BinaryElementwiseOperatorTester()
50 .operation_type(BinaryElementwiseOperatorTester::OperationType::Multiply)
Marat Dukhanca2733c2019-11-15 23:21:17 -080051 .input1_shape({2, 3})
52 .input2_shape({2, 3})
53 .iterations(1)
54 .TestF32();
55}
56
Marat Dukhanefc47b82019-11-18 09:25:38 -080057TEST(MULTIPLY_ND_F32, matrix_x_row) {
Marat Dukhanb1a0fc32019-12-02 19:32:02 -080058 BinaryElementwiseOperatorTester()
59 .operation_type(BinaryElementwiseOperatorTester::OperationType::Multiply)
Marat Dukhanca2733c2019-11-15 23:21:17 -080060 .input1_shape({2, 3})
61 .input2_shape({1, 3})
62 .iterations(1)
63 .TestF32();
Marat Dukhanb1a0fc32019-12-02 19:32:02 -080064 BinaryElementwiseOperatorTester()
65 .operation_type(BinaryElementwiseOperatorTester::OperationType::Multiply)
Marat Dukhanca2733c2019-11-15 23:21:17 -080066 .input1_shape({2, 3})
67 .input2_shape({3})
68 .iterations(1)
69 .TestF32();
70}
71
Marat Dukhanefc47b82019-11-18 09:25:38 -080072TEST(MULTIPLY_ND_F32, matrix_x_column) {
Marat Dukhanb1a0fc32019-12-02 19:32:02 -080073 BinaryElementwiseOperatorTester()
74 .operation_type(BinaryElementwiseOperatorTester::OperationType::Multiply)
Marat Dukhanca2733c2019-11-15 23:21:17 -080075 .input1_shape({2, 3})
76 .input2_shape({2, 1})
77 .iterations(1)
78 .TestF32();
79}
80
Marat Dukhanefc47b82019-11-18 09:25:38 -080081TEST(MULTIPLY_ND_F32, matrix_x_scalar) {
Marat Dukhanb1a0fc32019-12-02 19:32:02 -080082 BinaryElementwiseOperatorTester()
83 .operation_type(BinaryElementwiseOperatorTester::OperationType::Multiply)
Marat Dukhanca2733c2019-11-15 23:21:17 -080084 .input1_shape({2, 3})
85 .input2_shape({1, 1})
86 .iterations(1)
87 .TestF32();
Marat Dukhanb1a0fc32019-12-02 19:32:02 -080088 BinaryElementwiseOperatorTester()
89 .operation_type(BinaryElementwiseOperatorTester::OperationType::Multiply)
Marat Dukhanca2733c2019-11-15 23:21:17 -080090 .input1_shape({2, 3})
91 .input2_shape({1})
92 .iterations(1)
93 .TestF32();
Marat Dukhanb1a0fc32019-12-02 19:32:02 -080094 BinaryElementwiseOperatorTester()
95 .operation_type(BinaryElementwiseOperatorTester::OperationType::Multiply)
Marat Dukhanca2733c2019-11-15 23:21:17 -080096 .input1_shape({2, 3})
97 .iterations(1)
98 .TestF32();
99}
100
Marat Dukhanefc47b82019-11-18 09:25:38 -0800101TEST(MULTIPLY_ND_F32, row_x_matrix) {
Marat Dukhanb1a0fc32019-12-02 19:32:02 -0800102 BinaryElementwiseOperatorTester()
103 .operation_type(BinaryElementwiseOperatorTester::OperationType::Multiply)
Marat Dukhanca2733c2019-11-15 23:21:17 -0800104 .input1_shape({1, 3})
105 .input2_shape({2, 3})
106 .iterations(1)
107 .TestF32();
Marat Dukhanb1a0fc32019-12-02 19:32:02 -0800108 BinaryElementwiseOperatorTester()
109 .operation_type(BinaryElementwiseOperatorTester::OperationType::Multiply)
Marat Dukhanca2733c2019-11-15 23:21:17 -0800110 .input1_shape({3})
111 .input2_shape({2, 3})
112 .iterations(1)
113 .TestF32();
114}
115
Marat Dukhanefc47b82019-11-18 09:25:38 -0800116TEST(MULTIPLY_ND_F32, column_x_matrix) {
Marat Dukhanb1a0fc32019-12-02 19:32:02 -0800117 BinaryElementwiseOperatorTester()
118 .operation_type(BinaryElementwiseOperatorTester::OperationType::Multiply)
Marat Dukhanca2733c2019-11-15 23:21:17 -0800119 .input1_shape({2, 1})
120 .input2_shape({2, 3})
121 .iterations(1)
122 .TestF32();
123}
124
Marat Dukhanefc47b82019-11-18 09:25:38 -0800125TEST(MULTIPLY_ND_F32, scalar_x_matrix) {
Marat Dukhanb1a0fc32019-12-02 19:32:02 -0800126 BinaryElementwiseOperatorTester()
127 .operation_type(BinaryElementwiseOperatorTester::OperationType::Multiply)
Marat Dukhanca2733c2019-11-15 23:21:17 -0800128 .input1_shape({1, 1})
129 .input2_shape({2, 3})
130 .iterations(1)
131 .TestF32();
Marat Dukhanb1a0fc32019-12-02 19:32:02 -0800132 BinaryElementwiseOperatorTester()
133 .operation_type(BinaryElementwiseOperatorTester::OperationType::Multiply)
Marat Dukhanca2733c2019-11-15 23:21:17 -0800134 .input1_shape({1})
135 .input2_shape({2, 3})
136 .iterations(1)
137 .TestF32();
Marat Dukhanb1a0fc32019-12-02 19:32:02 -0800138 BinaryElementwiseOperatorTester()
139 .operation_type(BinaryElementwiseOperatorTester::OperationType::Multiply)
Marat Dukhanca2733c2019-11-15 23:21:17 -0800140 .input2_shape({2, 3})
141 .iterations(1)
142 .TestF32();
143}