Add min and max to Function2D.
This commit is contained in:
@@ -72,6 +72,65 @@ TEST_F(Function2D_Test, std){
|
||||
|
||||
}
|
||||
|
||||
TEST_F(Function2D_Test, min) {
|
||||
double *dataA = new double[3]{1, 2, 3};
|
||||
double *dataB = new double[9]{2, 3, 3, 2, 2, 1, 3, 3, 3};
|
||||
double *dataC = new double[1]{1.5};
|
||||
auto A = Aurora::Matrix::fromRawData(dataA, 3, 1);
|
||||
auto B = Aurora::Matrix::fromRawData(dataB, 3, 3);
|
||||
auto C = Aurora::Matrix::fromRawData(dataC, 1);
|
||||
auto D = Aurora::Matrix::copyFromRawData(dataA, 1, 3);
|
||||
Aurora::Matrix ret = Aurora::min(B);
|
||||
EXPECT_EQ(1, ret.getDimSize(0));
|
||||
EXPECT_EQ(3, ret.getDimSize(1));
|
||||
EXPECT_DOUBLE_EQ(2, ret.getData()[0]);
|
||||
EXPECT_DOUBLE_EQ(1, ret.getData()[1]);
|
||||
EXPECT_DOUBLE_EQ(3, ret.getData()[2]);
|
||||
ret = Aurora::min(B, Aurora::All);
|
||||
EXPECT_DOUBLE_EQ(1, ret.getDataSize());
|
||||
EXPECT_DOUBLE_EQ(1, ret.getData()[0]);
|
||||
ret = Aurora::min(B, Aurora::Row);
|
||||
EXPECT_DOUBLE_EQ(3, ret.getDataSize());
|
||||
EXPECT_EQ(3, ret.getDimSize(0));
|
||||
EXPECT_EQ(1, ret.getDimSize(1));
|
||||
EXPECT_DOUBLE_EQ(2, ret.getData()[0]);
|
||||
EXPECT_DOUBLE_EQ(2, ret.getData()[1]);
|
||||
EXPECT_DOUBLE_EQ(1, ret.getData()[2]);
|
||||
ret = Aurora::min(A, C);
|
||||
EXPECT_DOUBLE_EQ(3, ret.getDataSize());
|
||||
EXPECT_DOUBLE_EQ(1, ret.getData()[0]);
|
||||
EXPECT_DOUBLE_EQ(1.5, ret.getData()[1]);
|
||||
EXPECT_DOUBLE_EQ(1.5, ret.getData()[2]);
|
||||
ret = Aurora::min(B,D);
|
||||
EXPECT_DOUBLE_EQ(9, ret.getDataSize());
|
||||
EXPECT_DOUBLE_EQ(1, ret.getData()[0]);
|
||||
EXPECT_DOUBLE_EQ(1, ret.getData()[1]);
|
||||
EXPECT_DOUBLE_EQ(1, ret.getData()[2]);
|
||||
}
|
||||
|
||||
TEST_F(Function2D_Test, max) {
|
||||
double *dataA = new double[3]{1, 2, 3};
|
||||
double *dataB = new double[9]{2, 3, 3, 2, 2, 1, 3, 3, 3};
|
||||
auto A = Aurora::Matrix::fromRawData(dataA, 3, 1);
|
||||
auto B = Aurora::Matrix::fromRawData(dataB, 3, 3);
|
||||
Aurora::Matrix ret = Aurora::max(B);
|
||||
EXPECT_EQ(1, ret.getDimSize(0));
|
||||
EXPECT_EQ(3, ret.getDimSize(1));
|
||||
EXPECT_DOUBLE_EQ(3, ret.getData()[0]);
|
||||
EXPECT_DOUBLE_EQ(2, ret.getData()[1]);
|
||||
EXPECT_DOUBLE_EQ(3, ret.getData()[2]);
|
||||
ret = Aurora::max(B, Aurora::All);
|
||||
EXPECT_DOUBLE_EQ(1, ret.getDataSize());
|
||||
EXPECT_DOUBLE_EQ(3, ret.getData()[0]);
|
||||
ret = Aurora::max(B, Aurora::Row);
|
||||
EXPECT_DOUBLE_EQ(3, ret.getDataSize());
|
||||
EXPECT_EQ(3, ret.getDimSize(0));
|
||||
EXPECT_EQ(1, ret.getDimSize(1));
|
||||
EXPECT_DOUBLE_EQ(3, ret.getData()[0]);
|
||||
EXPECT_DOUBLE_EQ(3, ret.getData()[1]);
|
||||
EXPECT_DOUBLE_EQ(3, ret.getData()[2]);
|
||||
}
|
||||
|
||||
TEST_F(Function2D_Test, fftAndComplexAndIfft){
|
||||
// double input[10]{1,1,0,2,2,0,1,1,0,2};
|
||||
// std::complex<double>* complexInput = Aurora::complex(10,input);
|
||||
|
||||
Reference in New Issue
Block a user