ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
flann::cuda::heap Namespace Reference

Functions

template<class GreaterThan , class RandomAccessIterator >
__host__ __device__ void sift_down (RandomAccessIterator array, size_t begin, size_t length, GreaterThan c=GreaterThan())
 
template<class GreaterThan , class RandomAccessIterator >
__host__ __device__ void make_heap (RandomAccessIterator begin, size_t length, GreaterThan c=GreaterThan())
 
template<class GreaterThan , class RandomAccessIterator >
__host__ __device__ bool is_heap (RandomAccessIterator begin, size_t length, GreaterThan c=GreaterThan())
 
template<class GreaterThan , class RandomAccessIterator , class RandomAccessIterator2 >
__host__ __device__ void sift_down (RandomAccessIterator key, RandomAccessIterator2 value, size_t begin, size_t length, GreaterThan c=GreaterThan())
 
template<class GreaterThan , class RandomAccessIterator , class RandomAccessIterator2 >
__host__ __device__ void make_heap (RandomAccessIterator key, RandomAccessIterator2 value, size_t length, GreaterThan c=GreaterThan())
 

Function Documentation

◆ is_heap()

template<class GreaterThan , class RandomAccessIterator >
__host__ __device__ bool flann::cuda::heap::is_heap ( RandomAccessIterator  begin,
size_t  length,
GreaterThan  c = GreaterThan() 
)

verifies if the array is a max-heap if c is a less-than comparator, it will verify if it is a min-heap

Definition at line 87 of file heap.h.

References length().

◆ make_heap() [1/2]

◆ make_heap() [2/2]

template<class GreaterThan , class RandomAccessIterator , class RandomAccessIterator2 >
__host__ __device__ void flann::cuda::heap::make_heap ( RandomAccessIterator  key,
RandomAccessIterator2  value,
size_t  length,
GreaterThan  c = GreaterThan() 
)

creates a max-heap in the array beginning at begin of length "length" if c is a less-than comparator, it will create a min-heap

Definition at line 125 of file heap.h.

References length(), and sift_down().

◆ sift_down() [1/2]

template<class GreaterThan , class RandomAccessIterator >
__host__ __device__ void flann::cuda::heap::sift_down ( RandomAccessIterator  array,
size_t  begin,
size_t  length,
GreaterThan  c = GreaterThan() 
)

◆ sift_down() [2/2]

template<class GreaterThan , class RandomAccessIterator , class RandomAccessIterator2 >
__host__ __device__ void flann::cuda::heap::sift_down ( RandomAccessIterator  key,
RandomAccessIterator2  value,
size_t  begin,
size_t  length,
GreaterThan  c = GreaterThan() 
)

moves an element down the heap until all children are smaller than the element if c is a less-than comparator, it do this until all children are larger

Definition at line 101 of file heap.h.

References length(), and flann::cuda::swap().