Add column vector support to min, max, sum, prod.

This commit is contained in:
Krad
2023-04-26 14:58:18 +08:00
parent 6fd22ffc89
commit b4423b756e
3 changed files with 90 additions and 30 deletions

View File

@@ -102,6 +102,10 @@ TEST_F(Function2D_Test, min) {
EXPECT_DOUBLE_EQ(1, ret.getData()[0]);
EXPECT_EQ(0, r);
EXPECT_EQ(0, c);
ret = Aurora::min(D);
EXPECT_EQ(1, ret.getDimSize(0));
EXPECT_EQ(1, ret.getDimSize(1));
EXPECT_DOUBLE_EQ(1, ret.getData()[0]);
ret = Aurora::min(A, C);
EXPECT_DOUBLE_EQ(3, ret.getDataSize());
EXPECT_DOUBLE_EQ(1, ret.getData()[0]);
@@ -141,6 +145,11 @@ TEST_F(Function2D_Test, max) {
EXPECT_DOUBLE_EQ(3, ret.getData()[0]);
EXPECT_EQ(2, r);
EXPECT_EQ(0, c);
auto D = Aurora::Matrix::copyFromRawData(dataA, 1, 3);
ret = Aurora::max(D);
EXPECT_EQ(1, ret.getDimSize(0));
EXPECT_EQ(1, ret.getDimSize(1));
EXPECT_DOUBLE_EQ(3, ret.getData()[0]);
}
TEST_F(Function2D_Test, sum) {
@@ -162,6 +171,12 @@ TEST_F(Function2D_Test, sum) {
EXPECT_DOUBLE_EQ(7, ret.getData()[0]);
EXPECT_DOUBLE_EQ(8, ret.getData()[1]);
EXPECT_DOUBLE_EQ(1, ret.getData()[2]);
double *dataA = new double[3]{1, 2, 3};
auto D = Aurora::Matrix::copyFromRawData(dataA, 1, 3);
ret = Aurora::sum(D);
EXPECT_EQ(1, ret.getDimSize(0));
EXPECT_EQ(1, ret.getDimSize(1));
EXPECT_DOUBLE_EQ(6, ret.getData()[0]);
}
TEST_F(Function2D_Test, mean) {
@@ -308,6 +323,12 @@ TEST_F(Function2D_Test, median) {
EXPECT_DOUBLE_EQ(9, ret.getData()[2]);
EXPECT_DOUBLE_EQ(15.55, ret.getData()[3]);
EXPECT_DOUBLE_EQ(7.25, ret.getData()[4]);
double *dataA = new double[3]{1, 2, 3};
auto D = Aurora::Matrix::copyFromRawData(dataA, 1, 3);
ret = Aurora::median(D);
EXPECT_EQ(1, ret.getDimSize(0));
EXPECT_EQ(1, ret.getDimSize(1));
EXPECT_DOUBLE_EQ(2, ret.getData()[0]);
}
TEST_F(Function2D_Test, fftAndComplexAndIfft){
@@ -357,6 +378,12 @@ TEST_F(Function2D_Test, prod) {
EXPECT_DOUBLE_EQ(0.6402, fourDecimalRound(ret.getData()[2]/10000));
EXPECT_DOUBLE_EQ(-4.8307, fourDecimalRound(ret.getData()[3]/10000));
EXPECT_DOUBLE_EQ(0.2608, fourDecimalRound(ret.getData()[4]/10000));
double *dataA = new double[3]{1, 2, 3};
auto D = Aurora::Matrix::copyFromRawData(dataA, 1, 3);
ret = Aurora::prod(D);
EXPECT_EQ(1, ret.getDimSize(0));
EXPECT_EQ(1, ret.getDimSize(1));
EXPECT_DOUBLE_EQ(6, ret.getData()[0]);
}
TEST_F(Function2D_Test, dot) {