|
AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
|
This class implements a naming policy that uses some hashing functions to produce a "name" for an array of ids. More...
#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/main/src/axom/bump/HashNaming.hpp>
Classes | |
| class | View |
| A view for making names, suitable for use in device code. More... | |
Public Types | |
| using | KeyType = std::uint64_t |
| using | IndexType = IndexT |
Public Member Functions | |
| KeyType | makeName (const IndexType *p, int n) const |
| Make a name from the array of ids. More... | |
| void | setMaxId (IndexType n) |
| Set the max number of nodes, which can help with id packing/narrowing. More... | |
| View | view () |
| Return a view that can be used on device. More... | |
Static Public Member Functions | |
| static std::string | toString (KeyType key) |
| Turn name into a string. More... | |
Public Attributes | |
| View | m_view {} |
Static Public Attributes | |
| constexpr static KeyType | KeyIDSingle = 0 |
| constexpr static KeyType | KeyIDPair = KeyType(1) << 62 |
| constexpr static KeyType | KeyIDPack = KeyType(2) << 62 |
| constexpr static KeyType | KeyIDHash = KeyType(3) << 62 |
| constexpr static KeyType | KeyMask = KeyType(3) << 62 |
| constexpr static KeyType | PayloadMask = ~KeyMask |
| constexpr static KeyType | Max15Bit = (KeyType(1) << 15) - 1 |
| constexpr static KeyType | Max16Bit = (KeyType(1) << 16) - 1 |
| constexpr static KeyType | Max20Bit = (KeyType(1) << 20) - 1 |
| constexpr static KeyType | Max31Bit = (KeyType(1) << 31) - 1 |
| constexpr static KeyType | Max32Bit = (KeyType(1) << 32) - 1 |
This class implements a naming policy that uses some hashing functions to produce a "name" for an array of ids.
| IndexT | The index type that gets hashed. |
| MAXIDS | The max number of ids that get hashed. |
| using axom::bump::HashNaming< IndexT, MAXIDS >::KeyType = std::uint64_t |
| using axom::bump::HashNaming< IndexT, MAXIDS >::IndexType = IndexT |
|
inline |
Make a name from the array of ids.
References axom::bump::HashNaming< IndexT, MAXIDS >::m_view, and axom::bump::HashNaming< IndexT, MAXIDS >::View::makeName().
|
inline |
Set the max number of nodes, which can help with id packing/narrowing.
| n | The number of nodes. |
References axom::bump::HashNaming< IndexT, MAXIDS >::m_view, and axom::bump::HashNaming< IndexT, MAXIDS >::View::setMaxId().
|
inline |
Return a view that can be used on device.
References axom::bump::HashNaming< IndexT, MAXIDS >::m_view.
|
inlinestatic |
Turn name into a string.
| key | The name. |
References axom::bump::HashNaming< IndexT, MAXIDS >::KeyIDHash, axom::bump::HashNaming< IndexT, MAXIDS >::KeyIDPack, axom::bump::HashNaming< IndexT, MAXIDS >::KeyIDPair, axom::bump::HashNaming< IndexT, MAXIDS >::KeyIDSingle, axom::bump::HashNaming< IndexT, MAXIDS >::KeyMask, axom::bump::HashNaming< IndexT, MAXIDS >::Max15Bit, axom::bump::HashNaming< IndexT, MAXIDS >::Max20Bit, axom::bump::HashNaming< IndexT, MAXIDS >::Max31Bit, and axom::bump::HashNaming< IndexT, MAXIDS >::PayloadMask.
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
| View axom::bump::HashNaming< IndexT, MAXIDS >::m_view {} |