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);
 
   53 struct 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; }
 
   85 struct greater_equal {
 
   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 
  102 #endif  // KOKKOS_FUNCTIONAL_HPP