Add transpose and transpose's unittest.

This commit is contained in:
sunwen
2023-04-25 14:21:52 +08:00
parent a6b2474dd1
commit 8d75783db6
3 changed files with 62 additions and 0 deletions

View File

@@ -308,3 +308,37 @@ TEST_F(Function1D_Test, norm) {
result = Aurora::norm(matrix,Aurora::NormMethod::NormF);
EXPECT_DOUBLE_AE(result,27.4089);
}
TEST_F(Function1D_Test, transpose) {
double *data = new double[6]{1,2,3,4,5,6};
auto matrix = Aurora::Matrix::fromRawData(data, 3,2);
auto result = Aurora::transpose(matrix);
EXPECT_DOUBLE_EQ(result.getData()[0],1);
EXPECT_DOUBLE_EQ(result.getData()[1],4);
EXPECT_DOUBLE_EQ(result.getData()[2],2);
EXPECT_DOUBLE_EQ(result.getData()[3],5);
EXPECT_DOUBLE_EQ(result.getData()[4],3);
EXPECT_DOUBLE_EQ(result.getData()[5],6);
EXPECT_DOUBLE_EQ(result.getDimSize(0),2);
EXPECT_DOUBLE_EQ(result.getDimSize(1),3);
data = new double[12]{1,2,3,4,5,6,7,8,9,10,11,12};
matrix = Aurora::Matrix::fromRawData(data, 3,2,1,Aurora::Complex);
result = Aurora::transpose(matrix);
EXPECT_DOUBLE_EQ(result.getData()[0],1);
EXPECT_DOUBLE_EQ(result.getData()[1],2);
EXPECT_DOUBLE_EQ(result.getData()[2],7);
EXPECT_DOUBLE_EQ(result.getData()[3],8);
EXPECT_DOUBLE_EQ(result.getData()[4],3);
EXPECT_DOUBLE_EQ(result.getData()[5],4);
EXPECT_DOUBLE_EQ(result.getData()[6],9);
EXPECT_DOUBLE_EQ(result.getData()[7],10);
EXPECT_DOUBLE_EQ(result.getData()[8],5);
EXPECT_DOUBLE_EQ(result.getData()[9],6);
EXPECT_DOUBLE_EQ(result.getData()[10],11);
EXPECT_DOUBLE_EQ(result.getData()[11],12);
EXPECT_DOUBLE_EQ(result.getDimSize(0),2);
EXPECT_DOUBLE_EQ(result.getDimSize(1),3);
EXPECT_DOUBLE_EQ(result.getDimSize(0),2);
EXPECT_DOUBLE_EQ(result.getDimSize(1),3);
}