38 #ifndef PCL_DEVICE_FUNCTIONAL_HPP_
39 #define PCL_DEVICE_FUNCTIONAL_HPP_
41 #include <thrust/functional.h>
49 using thrust::unary_function;
50 using thrust::binary_function;
56 using thrust::multiplies;
57 using thrust::divides;
58 using thrust::modulus;
63 using thrust::equal_to;
64 using thrust::not_equal_to;
65 using thrust::greater;
67 using thrust::greater_equal;
68 using thrust::less_equal;
72 using thrust::logical_and;
73 using thrust::logical_or;
74 using thrust::logical_not;
78 using thrust::bit_and;
80 using thrust::bit_xor;
82 template <
typename T>
struct bit_not : unary_function<T, T>
84 __forceinline__ __device__ T
operator ()(
const T& v)
const {
return ~v;}
89 using thrust::identity;
90 using thrust::project1st;
91 using thrust::project2nd;
96 template<
typename T,
typename W>
101 __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)