5 template<
typename type_t>
6 struct less_t :
public std::binary_function<type_t, type_t, bool> {
7 __forceinline__ __device__ __host__
bool operator()(type_t a, type_t b)
const {
12 template<
typename type_t>
13 struct less_equal_t :
public std::binary_function<type_t, type_t, bool> {
14 __forceinline__ __device__ __host__
bool operator()(type_t a, type_t b)
const {
19 template<
typename type_t>
20 struct greater_t :
public std::binary_function<type_t, type_t, bool> {
21 __forceinline__ __device__ __host__
bool operator()(type_t a, type_t b)
const {
26 template<
typename type_t>
28 __forceinline__ __device__ __host__
bool operator()(type_t a, type_t b)
const {
33 template<
typename type_t>
34 struct equal_to_t :
public std::binary_function<type_t, type_t, bool> {
35 __forceinline__ __device__ __host__
bool operator()(type_t a, type_t b)
const {
40 template<
typename type_t>
42 __forceinline__ __device__ __host__
bool operator()(type_t a, type_t b)
const {
47 template<
typename type_t>
48 struct plus_t :
public std::binary_function<type_t, type_t, type_t> {
49 __forceinline__ __device__ __host__ type_t operator()(type_t a, type_t b)
const {
53 __forceinline__ __device__ __host__ type_t reduceInitValue()
const {
58 template<
typename type_t>
59 struct minus_t :
public std::binary_function<type_t, type_t, type_t> {
60 __forceinline__ __device__ __host__ type_t operator()(type_t a, type_t b)
const {
64 __forceinline__ __device__ __host__ type_t reduceInitValue()
const {
69 template<
typename type_t>
70 struct multiplies_t :
public std::binary_function<type_t, type_t, type_t> {
71 __forceinline__ __device__ __host__ type_t operator()(type_t a, type_t b)
const {
76 template<
typename type_t>
77 struct maximum_t :
public std::binary_function<type_t, type_t, type_t> {
78 __forceinline__ __device__ __host__ type_t operator()(type_t a, type_t b)
const {
79 return (a < b) ? b : a;
82 __forceinline__ __device__ __host__ type_t reduceInitValue()
const {
83 return std::numeric_limits<type_t>::min();
87 template<
typename type_t>
88 struct minimum_t :
public std::binary_function<type_t, type_t, type_t> {
89 __forceinline__ __device__ __host__ type_t operator()(type_t a, type_t b)
const {
90 return (b < a) ? b : a;
93 __forceinline__ __device__ __host__ type_t reduceInitValue()
const {
94 return std::numeric_limits<type_t>::max();