24 class MatrixTest :
public ::testing::Test {
35 src_.Resize(1, kInputSize_, 0);
36 for (
int i = 0; i < kInputSize_; ++i) {
39 for (
int i = 0; i < kNumDims_; ++i) dims_[i] = 5 - i;
42 static const int kNumDims_ = 4;
44 static const int kInputSize_ = 120;
54 TEST_F(MatrixTest, RotatingTranspose_3_1) {
62 EXPECT_EQ(0, m(0, 0));
63 EXPECT_EQ(2, m(0, 1));
64 EXPECT_EQ(4, m(0, 2));
65 EXPECT_EQ(6, m(1, 0));
66 EXPECT_EQ(1, m(4, 0));
67 EXPECT_EQ(24, m(8, 0));
68 EXPECT_EQ(26, m(8, 1));
69 EXPECT_EQ(25, m(12, 0));
73 TEST_F(MatrixTest, RotatingTranspose_2_0) {
84 EXPECT_EQ(0, m(0, 0));
85 EXPECT_EQ(1, m(0, 1));
86 EXPECT_EQ(6, m(1, 0));
87 EXPECT_EQ(7, m(1, 1));
88 EXPECT_EQ(24, m(4, 0));
89 EXPECT_EQ(25, m(4, 1));
90 EXPECT_EQ(30, m(5, 0));
91 EXPECT_EQ(2, m(20, 0));
95 TEST_F(MatrixTest, RotatingTranspose_1_3) {
104 EXPECT_EQ(0, m(0, 0));
105 EXPECT_EQ(6, m(0, 1));
106 EXPECT_EQ(1, m(1, 0));
107 EXPECT_EQ(2, m(2, 0));
108 EXPECT_EQ(3, m(3, 0));
109 EXPECT_EQ(4, m(4, 0));
110 EXPECT_EQ(5, m(5, 0));
111 EXPECT_EQ(24, m(6, 0));
112 EXPECT_EQ(30, m(6, 1));
116 TEST_F(MatrixTest, RotatingTranspose_0_2) {
125 EXPECT_EQ(0, m(0, 0));
126 EXPECT_EQ(1, m(0, 1));
127 EXPECT_EQ(24, m(1, 0));
128 EXPECT_EQ(25, m(1, 1));
129 EXPECT_EQ(96, m(4, 0));
130 EXPECT_EQ(97, m(4, 1));
131 EXPECT_EQ(2, m(5, 0));
132 EXPECT_EQ(6, m(15, 0));
void ResizeNoInit(int size1, int size2, int pad=0)
void RotatingTranspose(const int *dims, int num_dims, int src_dim, int dest_dim, GENERIC_2D_ARRAY< T > *result) const