Add transpose and transpose's unittest.
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user