fourdst::libcomposition v2.3.1
Robust atomic species information library
Loading...
Searching...
No Matches
fourdst::composition::utils::CompositionHash Struct Reference

#include <composition_hash.h>

Static Public Member Functions

template<CompositionType CompositionT>
static uint64_t hash_exact (const CompositionT &comp)
 

Static Private Member Functions

static uint64_t mum (const uint64_t a, const uint64_t b) noexcept
 
static uint64_t mix (const uint64_t h) noexcept
 
static uint64_t normalize_double_bits (double v) noexcept
 
static uint32_t pack_species_id (const auto &s) noexcept
 

Static Private Attributes

static constexpr uint64_t kSeed = 0xC04D5EEDBEEFull
 
static constexpr uint64_t kPrime1 = 0xa0761d6478bd642fULL
 
static constexpr uint64_t kPrime2 = 0xe7037ed1a0b428dbULL
 
static constexpr uint64_t kPrime3 = 0x8ebc6af09c88c6e3ULL
 

Detailed Description

Definition at line 16 of file composition_hash.h.

Member Function Documentation

◆ hash_exact()

template<CompositionType CompositionT>
static uint64_t fourdst::composition::utils::CompositionHash::hash_exact ( const CompositionT & comp)
inlinestatic

Definition at line 18 of file composition_hash.h.

◆ mix()

static uint64_t fourdst::composition::utils::CompositionHash::mix ( const uint64_t h)
inlinestaticprivatenoexcept

Definition at line 84 of file composition_hash.h.

◆ mum()

static uint64_t fourdst::composition::utils::CompositionHash::mum ( const uint64_t a,
const uint64_t b )
inlinestaticprivatenoexcept

Definition at line 79 of file composition_hash.h.

◆ normalize_double_bits()

static uint64_t fourdst::composition::utils::CompositionHash::normalize_double_bits ( double v)
inlinestaticprivatenoexcept

Definition at line 89 of file composition_hash.h.

◆ pack_species_id()

static uint32_t fourdst::composition::utils::CompositionHash::pack_species_id ( const auto & s)
inlinestaticprivatenoexcept

Definition at line 97 of file composition_hash.h.

Member Data Documentation

◆ kPrime1

uint64_t fourdst::composition::utils::CompositionHash::kPrime1 = 0xa0761d6478bd642fULL
staticconstexprprivate

Definition at line 74 of file composition_hash.h.

◆ kPrime2

uint64_t fourdst::composition::utils::CompositionHash::kPrime2 = 0xe7037ed1a0b428dbULL
staticconstexprprivate

Definition at line 75 of file composition_hash.h.

◆ kPrime3

uint64_t fourdst::composition::utils::CompositionHash::kPrime3 = 0x8ebc6af09c88c6e3ULL
staticconstexprprivate

Definition at line 76 of file composition_hash.h.

◆ kSeed

uint64_t fourdst::composition::utils::CompositionHash::kSeed = 0xC04D5EEDBEEFull
staticconstexprprivate

Definition at line 73 of file composition_hash.h.


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