37#ifndef PCL_GPU_BITONIC_SORT_WARP_HPP
38#define PCL_GPU_BITONIC_SORT_WARP_HPP
47 template<
typename V,
typename K>
53 for(
unsigned int size = 2; size <
arrayLength; size <<= 1)
56 unsigned int ddd =
dir ^ ( (
lane & (size / 2)) != 0 );
58 for(
unsigned int stride = size / 2; stride > 0; stride >>= 1)
60 unsigned int pos = 2 *
lane - (
lane & (stride - 1));
71 for(
unsigned int stride =
arrayLength / 2; stride > 0; stride >>= 1)
73 unsigned int pos = 2 *
lane - (
lane & (stride - 1));
Iterator class for point clouds with or without given indices.
__device__ __forceinline__ void bitonicSortWarp(volatile K *keys, volatile V *vals, unsigned int dir=1)
__device__ __host__ __forceinline__ void swap(T &a, T &b)