38 #ifndef PCL_DEVICE_FUNCTIONAL_HPP_
39 #define PCL_DEVICE_FUNCTIONAL_HPP_
41 #include <thrust/functional.h>
44 #if CUDA_VERSION >= 13000
45 #include <cuda/std/functional>
57 using thrust::multiplies;
58 using thrust::divides;
59 using thrust::modulus;
64 using thrust::equal_to;
65 using thrust::not_equal_to;
66 using thrust::greater;
68 using thrust::greater_equal;
69 using thrust::less_equal;
73 using thrust::logical_and;
74 using thrust::logical_or;
75 using thrust::logical_not;
79 using thrust::bit_and;
81 using thrust::bit_xor;
87 __forceinline__ __device__ T
operator ()(
const T& v)
const {
return ~v;}
91 #if CUDA_VERSION >= 13000
92 using cuda::std::identity;
94 using thrust::identity;
96 using thrust::project1st;
97 using thrust::project2nd;
102 template<
typename T,
typename W>
107 __device__ __host__ __forceinline__
float operator()(
const T& f1,
const T& f2)
const
__forceinline__ __device__ T operator()(const T &v) const
__device__ __host__ __forceinline__ float operator()(const T &f1, const T &f2) const
__device__ __host__ __forceinline__ plusWeighted(W weight)