17#ifndef KOKKOS_FUNCTIONAL_HPP
18#define KOKKOS_FUNCTIONAL_HPP
19#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE
20#define KOKKOS_IMPL_PUBLIC_INCLUDE
21#define KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_FUNCTIONAL
24#include <Kokkos_Macros.hpp>
25#include <impl/Kokkos_Functional_impl.hpp>
33 KOKKOS_FORCEINLINE_FUNCTION
34 uint32_t operator()(T
const& t)
const {
35 return Impl::MurmurHash3_x86_32(&t,
sizeof(T), 0);
38 KOKKOS_FORCEINLINE_FUNCTION
39 uint32_t operator()(T
const& t, uint32_t seed)
const {
40 return Impl::MurmurHash3_x86_32(&t,
sizeof(T), seed);
46 KOKKOS_FORCEINLINE_FUNCTION
47 bool operator()(T
const& a, T
const& b)
const {
48 return Impl::bitwise_equal(&a, &b);
53struct pod_not_equal_to {
54 KOKKOS_FORCEINLINE_FUNCTION
55 bool operator()(T
const& a, T
const& b)
const {
56 return !Impl::bitwise_equal(&a, &b);
62 KOKKOS_FORCEINLINE_FUNCTION
63 bool operator()(T
const& a, T
const& b)
const {
return a == b; }
68 KOKKOS_FORCEINLINE_FUNCTION
69 bool operator()(T
const& a, T
const& b)
const {
return a != b; }
74 KOKKOS_FORCEINLINE_FUNCTION
75 bool operator()(T
const& a, T
const& b)
const {
return a > b; }
80 KOKKOS_FORCEINLINE_FUNCTION
81 bool operator()(T
const& a, T
const& b)
const {
return a < b; }
86 KOKKOS_FORCEINLINE_FUNCTION
87 bool operator()(T
const& a, T
const& b)
const {
return a >= b; }
92 KOKKOS_FORCEINLINE_FUNCTION
93 bool operator()(T
const& a, T
const& b)
const {
return a <= b; }
98#ifdef KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_FUNCTIONAL
99#undef KOKKOS_IMPL_PUBLIC_INCLUDE
100#undef KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_FUNCTIONAL