Add cuda uniqueByRows and unitest.
This commit is contained in:
@@ -1121,3 +1121,31 @@ TEST_F(Function1D_Cuda_Test, deleteColumn) {
|
||||
EXPECT_FLOAT_AE(result1[i], result2[i]);
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(Function1D_Cuda_Test, uniqueByRows) {
|
||||
auto matrixHost = Aurora::Matrix::fromRawData(new float[12]{6,2,2,2,4,7,7,7,1,8,9,8},4,3,1,Aurora::Normal);
|
||||
Aurora::Matrix indexHost;
|
||||
auto matrixDevice = matrixHost.toDeviceMatrix();
|
||||
Aurora::CudaMatrix indexDevice;
|
||||
auto result1 = Aurora::uniqueByRows(matrixHost, indexHost);
|
||||
auto result2 = Aurora::uniqueByRows(matrixDevice, indexDevice).toHostMatrix();
|
||||
auto indexResult1 = indexHost;
|
||||
auto indexResult2 = indexDevice.toHostMatrix();
|
||||
EXPECT_FLOAT_AE(result1.getDimSize(0),result2.getDimSize(0));
|
||||
EXPECT_FLOAT_AE(result1.getDimSize(1),result2.getDimSize(1));
|
||||
EXPECT_FLOAT_AE(result1.getDataSize(),result2.getDataSize());
|
||||
|
||||
EXPECT_FLOAT_AE(indexResult1.getDimSize(0),indexResult2.getDimSize(0));
|
||||
EXPECT_FLOAT_AE(indexResult1.getDimSize(1),indexResult2.getDimSize(1));
|
||||
EXPECT_FLOAT_AE(indexResult1.getDataSize(),indexResult2.getDataSize());
|
||||
|
||||
for(int i=0;i<result1.getDataSize();++i)
|
||||
{
|
||||
EXPECT_FLOAT_AE(result1[i], result2[i]);
|
||||
}
|
||||
|
||||
for(int i=0;i<result1.getDataSize();++i)
|
||||
{
|
||||
EXPECT_FLOAT_AE(indexResult1[i], indexResult2[i]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user