Add Matrix compare with >=, <= and their test

This commit is contained in:
kradchen
2023-05-06 16:21:07 +08:00
parent e7317d0ade
commit 22a49127b7
3 changed files with 184 additions and 0 deletions

View File

@@ -285,4 +285,76 @@ TEST_F(Matrix_Test, matrixOpertaor) {
EXPECT_EQ(C.getData()[0], -2);
EXPECT_EQ(C.getData()[1], -2);
}
}
TEST_F(Matrix_Test, matrixCompare){
double *dataA = new double[8];
double *dataB = new double[8];
for (int i = 0; i < 8; ++i) {
dataA[i] = (double) (i);
dataB[i] = (double) (2);
}
Aurora::Matrix A = Aurora::Matrix::fromRawData(dataA, 2, 2, 2);
Aurora::Matrix B = Aurora::Matrix::fromRawData(dataB, 2, 2, 2);
auto C = A < B;
EXPECT_EQ(C.getData()[0], 1);
EXPECT_EQ(C.getData()[1], 1);
EXPECT_EQ(C.getData()[2], 0);
EXPECT_EQ(C.getData()[3], 0);
C = A <= B;
EXPECT_EQ(C.getData()[0], 1);
EXPECT_EQ(C.getData()[1], 1);
EXPECT_EQ(C.getData()[2], 1);
EXPECT_EQ(C.getData()[3], 0);
C = A > B;
EXPECT_EQ(C.getData()[0], 0);
EXPECT_EQ(C.getData()[1], 0);
EXPECT_EQ(C.getData()[2], 0);
EXPECT_EQ(C.getData()[3], 1);
C = A >= B;
EXPECT_EQ(C.getData()[0], 0);
EXPECT_EQ(C.getData()[1], 0);
EXPECT_EQ(C.getData()[2], 1);
EXPECT_EQ(C.getData()[3], 1);
C = A == B;
EXPECT_EQ(C.getData()[0], 0);
EXPECT_EQ(C.getData()[1], 0);
EXPECT_EQ(C.getData()[2], 1);
EXPECT_EQ(C.getData()[3], 0);
C = A == 1.0;
EXPECT_EQ(C.getData()[0], 0);
EXPECT_EQ(C.getData()[1], 1);
EXPECT_EQ(C.getData()[2], 0);
EXPECT_EQ(C.getData()[3], 0);
C = A > 1.0;
EXPECT_EQ(C.getData()[0], 0);
EXPECT_EQ(C.getData()[1], 0);
EXPECT_EQ(C.getData()[2], 1);
EXPECT_EQ(C.getData()[3], 1);
C = A >= 1.0;
EXPECT_EQ(C.getData()[0], 0);
EXPECT_EQ(C.getData()[1], 1);
EXPECT_EQ(C.getData()[2], 1);
EXPECT_EQ(C.getData()[3], 1);
C = A < 3.0;
EXPECT_EQ(C.getData()[0], 1);
EXPECT_EQ(C.getData()[1], 1);
EXPECT_EQ(C.getData()[2], 1);
EXPECT_EQ(C.getData()[3], 0);
C = A <= 2.0;
EXPECT_EQ(C.getData()[0], 1);
EXPECT_EQ(C.getData()[1], 1);
EXPECT_EQ(C.getData()[2], 1);
EXPECT_EQ(C.getData()[3], 0);
C = A == 2.0;
EXPECT_EQ(C.getData()[0], 0);
EXPECT_EQ(C.getData()[1], 0);
EXPECT_EQ(C.getData()[2], 1);
EXPECT_EQ(C.getData()[3], 0);
}