Change sortrows logic.
This commit is contained in:
@@ -291,27 +291,19 @@ TEST_F(Function2D_Test, sort) {
|
||||
}
|
||||
|
||||
TEST_F(Function2D_Test, sortrows) {
|
||||
double *dataB = new double[16]{1.1, 2.6, 6.2, 3.8,
|
||||
4.3, 10.6, 5.7, 6.9,
|
||||
7.1, 8.3, 9.7, 11.2,
|
||||
17.8, 13.3,7 , -7.7};
|
||||
auto B = Aurora::Matrix::fromRawData(dataB, 4, 4);
|
||||
auto ret = Aurora::sortrows(B);
|
||||
EXPECT_EQ(4, ret.getDimSize(0));
|
||||
EXPECT_EQ(4, ret.getDimSize(1));
|
||||
EXPECT_DOUBLE_EQ(5.7, ret.getData()[2]);
|
||||
EXPECT_DOUBLE_EQ(8.3, ret.getData()[5]);
|
||||
EXPECT_DOUBLE_EQ(17.8, ret.getData()[12]);
|
||||
ret = Aurora::sortrows(B*5);
|
||||
EXPECT_EQ(4, ret.getDimSize(0));
|
||||
EXPECT_EQ(4, ret.getDimSize(1));
|
||||
EXPECT_DOUBLE_EQ(28.5, ret.getData()[2]);
|
||||
EXPECT_DOUBLE_EQ(41.5, ret.getData()[5]);
|
||||
EXPECT_DOUBLE_EQ(89, ret.getData()[12]);
|
||||
//big sort 10w以上多线程快
|
||||
double * dataA = Aurora::random(1000000*4);
|
||||
auto A = Aurora::Matrix::New(dataA, 4, 1000000);
|
||||
ret = Aurora::sortrows(A);
|
||||
double *dataB = new double[42]{
|
||||
95, 27, 95, 79, 67, 70, 69,
|
||||
95, 7, 48, 95, 75, 3, 31,
|
||||
95, 7, 48, 65, 74, 27, 95,
|
||||
95, 7, 14, 3, 39, 4, 3,
|
||||
76, 15, 42, 84, 65, 9, 43,
|
||||
76, 97, 91, 93, 17, 82, 38
|
||||
};
|
||||
auto B = transpose(Aurora::Matrix::fromRawData(dataB, 7, 6));
|
||||
Aurora::Matrix idx ;
|
||||
auto ret = Aurora::sortrows(B,&idx);
|
||||
ret.printf();
|
||||
idx.printf();
|
||||
}
|
||||
|
||||
TEST_F(Function2D_Test, median) {
|
||||
|
||||
Reference in New Issue
Block a user