Template Struct PhiloxState
Defined in File philox_simd.hpp
Struct Documentation
-
template<class Arch, std::uint8_t N, std::uint8_t W, std::uint8_t R>
struct PhiloxState Public Types
-
using result_type = std::uint64_t
Public Functions
-
inline explicit PhiloxState(const key_type &key, const counter_type &counter) noexcept
-
inline void populate_cache(std::array<result_type, CACHE_SIZE> &cache) noexcept
-
inline counter_type getCounter(bool prev, std::uint16_t cache_index) const noexcept
-
inline counter_type getRawCounter() const noexcept
-
inline void setState(const counter_type &ctr, const key_type &key) noexcept
Public Static Attributes
-
static constexpr std::uint16_t CACHE_SIZE = 256
-
static constexpr std::uint16_t BLOCKS_PER_CACHE = CACHE_SIZE / RESULTS_PER_BLOCK
-
static constexpr std::uint16_t BATCHES_PER_CACHE = SIMD_WIDTH == 0 ? 1 : BLOCKS_PER_CACHE / SIMD_WIDTH
-
using result_type = std::uint64_t