Add cuda intersect and unittest.
This commit is contained in:
@@ -965,3 +965,25 @@ TEST_F(Function1D_Cuda_Test, auroraUnion) {
|
||||
EXPECT_FLOAT_AE(result1[i], result2[i]);
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(Function1D_Cuda_Test, intersect) {
|
||||
float* data1 = new float[9]{3,3,2,2,2,1,4,4,7};
|
||||
auto matrix1 = Aurora::Matrix::fromRawData(data1, 9,1,1).toDeviceMatrix();
|
||||
float* data2 = new float[8]{6,6,7,7,8,1,2};
|
||||
auto matrix2 = Aurora::Matrix::fromRawData(data2, 7,1,1).toDeviceMatrix();
|
||||
|
||||
auto result = Aurora::intersect(matrix1, matrix2).toHostMatrix();
|
||||
EXPECT_FLOAT_AE(result.getData()[0],1);
|
||||
EXPECT_FLOAT_AE(result.getData()[1],2);
|
||||
EXPECT_FLOAT_AE(result.getData()[2],7);
|
||||
|
||||
Aurora::CudaMatrix ia;
|
||||
result = Aurora::intersect(matrix1, matrix2, ia).toHostMatrix();
|
||||
auto iaHost = ia.toHostMatrix();
|
||||
EXPECT_FLOAT_AE(result.getData()[0],1);
|
||||
EXPECT_FLOAT_AE(result.getData()[1],2);
|
||||
EXPECT_FLOAT_AE(result.getData()[2],7);
|
||||
EXPECT_FLOAT_AE(iaHost.getData()[0],6);
|
||||
EXPECT_FLOAT_AE(iaHost.getData()[1],3);
|
||||
EXPECT_FLOAT_AE(iaHost.getData()[2],9);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user