OpenCV  2.4.13.6
Open Source Computer Vision
functional.hpp File Reference
#include <functional>
#include "saturate_cast.hpp"
#include "vec_traits.hpp"
#include "type_traits.hpp"
#include "device_functions.h"

Classes

struct  cv::gpu::device::unary_function< Argument, Result >
 
struct  cv::gpu::device::binary_function< Argument1, Argument2, Result >
 
struct  cv::gpu::device::plus< T >
 
struct  cv::gpu::device::minus< T >
 
struct  cv::gpu::device::multiplies< T >
 
struct  cv::gpu::device::divides< T >
 
struct  cv::gpu::device::modulus< T >
 
struct  cv::gpu::device::negate< T >
 
struct  cv::gpu::device::equal_to< T >
 
struct  cv::gpu::device::not_equal_to< T >
 
struct  cv::gpu::device::greater< T >
 
struct  cv::gpu::device::less< T >
 
struct  cv::gpu::device::greater_equal< T >
 
struct  cv::gpu::device::less_equal< T >
 
struct  cv::gpu::device::logical_and< T >
 
struct  cv::gpu::device::logical_or< T >
 
struct  cv::gpu::device::logical_not< T >
 
struct  cv::gpu::device::bit_and< T >
 
struct  cv::gpu::device::bit_or< T >
 
struct  cv::gpu::device::bit_xor< T >
 
struct  cv::gpu::device::bit_not< T >
 
struct  cv::gpu::device::identity< T >
 
struct  cv::gpu::device::project1st< T1, T2 >
 
struct  cv::gpu::device::project2nd< T1, T2 >
 
struct  cv::gpu::device::maximum< T >
 
struct  cv::gpu::device::maximum< uchar >
 
struct  cv::gpu::device::maximum< schar >
 
struct  cv::gpu::device::maximum< char >
 
struct  cv::gpu::device::maximum< ushort >
 
struct  cv::gpu::device::maximum< short >
 
struct  cv::gpu::device::maximum< int >
 
struct  cv::gpu::device::maximum< uint >
 
struct  cv::gpu::device::maximum< float >
 
struct  cv::gpu::device::maximum< double >
 
struct  cv::gpu::device::minimum< T >
 
struct  cv::gpu::device::minimum< uchar >
 
struct  cv::gpu::device::minimum< schar >
 
struct  cv::gpu::device::minimum< char >
 
struct  cv::gpu::device::minimum< ushort >
 
struct  cv::gpu::device::minimum< short >
 
struct  cv::gpu::device::minimum< int >
 
struct  cv::gpu::device::minimum< uint >
 
struct  cv::gpu::device::minimum< float >
 
struct  cv::gpu::device::minimum< double >
 
struct  cv::gpu::device::abs_func< T >
 
struct  cv::gpu::device::abs_func< unsigned char >
 
struct  cv::gpu::device::abs_func< signed char >
 
struct  cv::gpu::device::abs_func< char >
 
struct  cv::gpu::device::abs_func< unsigned short >
 
struct  cv::gpu::device::abs_func< short >
 
struct  cv::gpu::device::abs_func< unsigned int >
 
struct  cv::gpu::device::abs_func< int >
 
struct  cv::gpu::device::abs_func< float >
 
struct  cv::gpu::device::abs_func< double >
 
struct  cv::gpu::device::sqrt_func< T >
 
struct  cv::gpu::device::sqrt_func< double >
 
struct  cv::gpu::device::exp_func< T >
 
struct  cv::gpu::device::exp_func< double >
 
struct  cv::gpu::device::exp2_func< T >
 
struct  cv::gpu::device::exp2_func< double >
 
struct  cv::gpu::device::exp10_func< T >
 
struct  cv::gpu::device::exp10_func< double >
 
struct  cv::gpu::device::log_func< T >
 
struct  cv::gpu::device::log_func< double >
 
struct  cv::gpu::device::log2_func< T >
 
struct  cv::gpu::device::log2_func< double >
 
struct  cv::gpu::device::log10_func< T >
 
struct  cv::gpu::device::log10_func< double >
 
struct  cv::gpu::device::sin_func< T >
 
struct  cv::gpu::device::sin_func< double >
 
struct  cv::gpu::device::cos_func< T >
 
struct  cv::gpu::device::cos_func< double >
 
struct  cv::gpu::device::tan_func< T >
 
struct  cv::gpu::device::tan_func< double >
 
struct  cv::gpu::device::asin_func< T >
 
struct  cv::gpu::device::asin_func< double >
 
struct  cv::gpu::device::acos_func< T >
 
struct  cv::gpu::device::acos_func< double >
 
struct  cv::gpu::device::atan_func< T >
 
struct  cv::gpu::device::atan_func< double >
 
struct  cv::gpu::device::sinh_func< T >
 
struct  cv::gpu::device::sinh_func< double >
 
struct  cv::gpu::device::cosh_func< T >
 
struct  cv::gpu::device::cosh_func< double >
 
struct  cv::gpu::device::tanh_func< T >
 
struct  cv::gpu::device::tanh_func< double >
 
struct  cv::gpu::device::asinh_func< T >
 
struct  cv::gpu::device::asinh_func< double >
 
struct  cv::gpu::device::acosh_func< T >
 
struct  cv::gpu::device::acosh_func< double >
 
struct  cv::gpu::device::atanh_func< T >
 
struct  cv::gpu::device::atanh_func< double >
 
struct  cv::gpu::device::hypot_func< T >
 
struct  cv::gpu::device::hypot_func< double >
 
struct  cv::gpu::device::atan2_func< T >
 
struct  cv::gpu::device::atan2_func< double >
 
struct  cv::gpu::device::pow_func< T >
 
struct  cv::gpu::device::pow_func< double >
 
struct  cv::gpu::device::hypot_sqr_func< T >
 
struct  cv::gpu::device::saturate_cast_func< T, D >
 
struct  cv::gpu::device::thresh_binary_func< T >
 
struct  cv::gpu::device::thresh_binary_inv_func< T >
 
struct  cv::gpu::device::thresh_trunc_func< T >
 
struct  cv::gpu::device::thresh_to_zero_func< T >
 
struct  cv::gpu::device::thresh_to_zero_inv_func< T >
 
struct  cv::gpu::device::unary_negate< Predicate >
 
struct  cv::gpu::device::binary_negate< Predicate >
 
struct  cv::gpu::device::binder1st< Op >
 
struct  cv::gpu::device::binder2nd< Op >
 
struct  cv::gpu::device::IsUnaryFunction< F >
 
struct  cv::gpu::device::IsUnaryFunction< F >::No
 
struct  cv::gpu::device::IsBinaryFunction< F >
 
struct  cv::gpu::device::IsBinaryFunction< F >::No
 
struct  cv::gpu::device::functional_detail::UnOpShift< src_elem_size, dst_elem_size >
 
struct  cv::gpu::device::functional_detail::UnOpShift< src_elem_size, 1 >
 
struct  cv::gpu::device::functional_detail::UnOpShift< src_elem_size, 2 >
 
struct  cv::gpu::device::functional_detail::DefaultUnaryShift< T, D >
 
struct  cv::gpu::device::functional_detail::BinOpShift< src_elem_size1, src_elem_size2, dst_elem_size >
 
struct  cv::gpu::device::functional_detail::BinOpShift< src_elem_size1, src_elem_size2, 1 >
 
struct  cv::gpu::device::functional_detail::BinOpShift< src_elem_size1, src_elem_size2, 2 >
 
struct  cv::gpu::device::functional_detail::DefaultBinaryShift< T1, T2, D >
 
struct  cv::gpu::device::functional_detail::ShiftDispatcher< Func, unary >
 
struct  cv::gpu::device::functional_detail::ShiftDispatcher< Func, true >
 
struct  cv::gpu::device::functional_detail::ShiftDispatcher< Func, false >
 
struct  cv::gpu::device::DefaultTransformShift< Func >
 
struct  cv::gpu::device::DefaultTransformFunctorTraits< Func >
 
struct  cv::gpu::device::TransformFunctorTraits< Func >
 

Namespaces

 cv
 
 cv::gpu
 
 cv::gpu::device
 
 cv::gpu::device::functional_detail
 

Macros

#define OPENCV_GPU_IMPLEMENT_MINMAX(name, type, op)
 
#define OPENCV_GPU_IMPLEMENT_UN_FUNCTOR(name, func)
 
#define OPENCV_GPU_IMPLEMENT_BIN_FUNCTOR(name, func)
 
#define OPENCV_GPU_TRANSFORM_FUNCTOR_TRAITS(type)   template <> struct TransformFunctorTraits< type > : DefaultTransformFunctorTraits< type >
 

Functions

template<typename Predicate >
__host__ __device__ __forceinline__ unary_negate< Predicate > cv::gpu::device::not1 (const Predicate &pred)
 
template<typename BinaryPredicate >
__host__ __device__ __forceinline__ binary_negate< BinaryPredicate > cv::gpu::device::not2 (const BinaryPredicate &pred)
 
template<typename Op , typename T >
__host__ __device__ __forceinline__ binder1st< Op > cv::gpu::device::bind1st (const Op &op, const T &x)
 
template<typename Op , typename T >
__host__ __device__ __forceinline__ binder2nd< Op > cv::gpu::device::bind2nd (const Op &op, const T &x)
 

Macro Definition Documentation

§ OPENCV_GPU_IMPLEMENT_BIN_FUNCTOR

#define OPENCV_GPU_IMPLEMENT_BIN_FUNCTOR (   name,
  func 
)
Value:
template <typename T> struct name ## _func : binary_function<T, T, float> \
{ \
__device__ __forceinline__ float operator ()(typename TypeTraits<T>::ParameterType v1, typename TypeTraits<T>::ParameterType v2) const \
{ \
return func ## f(v1, v2); \
} \
__host__ __device__ __forceinline__ name ## _func() {} \
__host__ __device__ __forceinline__ name ## _func(const name ## _func&) {} \
}; \
template <> struct name ## _func<double> : binary_function<double, double, double> \
{ \
__device__ __forceinline__ double operator ()(double v1, double v2) const \
{ \
return func(v1, v2); \
} \
__host__ __device__ __forceinline__ name ## _func() {} \
__host__ __device__ __forceinline__ name ## _func(const name ## _func&) {} \
};

§ OPENCV_GPU_IMPLEMENT_MINMAX

#define OPENCV_GPU_IMPLEMENT_MINMAX (   name,
  type,
  op 
)
Value:
template <> struct name<type> : binary_function<type, type, type> \
{ \
__device__ __forceinline__ type operator()(type lhs, type rhs) const {return op(lhs, rhs);} \
__host__ __device__ __forceinline__ name() {}\
__host__ __device__ __forceinline__ name(const name&) {}\
};

§ OPENCV_GPU_IMPLEMENT_UN_FUNCTOR

#define OPENCV_GPU_IMPLEMENT_UN_FUNCTOR (   name,
  func 
)
Value:
template <typename T> struct name ## _func : unary_function<T, float> \
{ \
__device__ __forceinline__ float operator ()(typename TypeTraits<T>::ParameterType v) const \
{ \
return func ## f(v); \
} \
__host__ __device__ __forceinline__ name ## _func() {} \
__host__ __device__ __forceinline__ name ## _func(const name ## _func&) {} \
}; \
template <> struct name ## _func<double> : unary_function<double, double> \
{ \
__device__ __forceinline__ double operator ()(double v) const \
{ \
return func(v); \
} \
__host__ __device__ __forceinline__ name ## _func() {} \
__host__ __device__ __forceinline__ name ## _func(const name ## _func&) {} \
};

§ OPENCV_GPU_TRANSFORM_FUNCTOR_TRAITS

#define OPENCV_GPU_TRANSFORM_FUNCTOR_TRAITS (   type)    template <> struct TransformFunctorTraits< type > : DefaultTransformFunctorTraits< type >