AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::DeviceHash< T > Class Template Reference

Implements a host/device-callable hash function for supported types, and passes through to std::hash otherwise. More...

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/develop/src/axom/core/DeviceHash.hpp>

Inheritance diagram for axom::DeviceHash< T >:

Public Types

using argument_type = T
 
using result_type = std::uint64_t
 

Public Member Functions

std::uint64_t operator() (const T &object) const
 

Detailed Description

template<typename T>
class axom::DeviceHash< T >

Implements a host/device-callable hash function for supported types, and passes through to std::hash otherwise.

The result type is always std::uint64_t, independent of the configured axom::IndexType width. Hashes feed bit mixers and bucket selection, where truncating wide keys (e.g. 64-bit Morton codes) to a 32-bit IndexType before mixing would make keys equal mod 2^32 collide.

Member Typedef Documentation

◆ argument_type

using axom::detail::DeviceHashHelper< T, Enable >::argument_type = T
inherited

◆ result_type

using axom::detail::DeviceHashHelper< T, Enable >::result_type = std::uint64_t
inherited

Member Function Documentation

◆ operator()()

std::uint64_t axom::detail::DeviceHashHelper< T, Enable >::operator() ( const T &  object) const
inlineinherited

The documentation for this class was generated from the following file: