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:

- src/composition/include/fourdst/composition/utils/composition_hash.h