Учитывая массив 3d-точек, я хочу найти соседей каждой точки в этом массиве в пределах указанного радиуса.
Это код ядра, который я хочу реализовать.
в строке ошибки 1: я получаю ошибку ниже
аргумент типа "float" несовместим с параметром типа "float"
Пожалуйста, помогите мне решить эту проблему ошибка
mod = SourceModule("""
__device__ float euclidean_distance(float *pt1,float *pt2)
{
float x = pow((pt1[0] - pt2[0]), 2);
float y = pow((pt1[1] - pt2[1]), 2);
float z = pow((pt1[2] - pt2[2]), 2);
return sqrt(x+y+z);
}
__global__ void get_neighbours(float *search_point,float *point_list,float radius,float *neighbours, int list_size)
{
for(int i=0;i<list_size;i++)
{
float distance= euclidean_distance(search_point,point_list[i]); #__________error:1
if(distance<=radius)
{
neighbours[i]=i;
}
}
}
""")