Class XoshiroNative

Class Documentation

class XoshiroNative

XoshiroNative: uses the best architecture available at compile time. Zero indirection — direct calls to XoshiroState methods.

Public Types

using result_type = std::uint64_t

Public Functions

inline explicit XoshiroNative(const result_type seed) noexcept
inline explicit XoshiroNative(const result_type seed, const result_type thread_id) noexcept
inline explicit XoshiroNative(const result_type seed, const result_type thread_id, const result_type cluster_id) noexcept
inline result_type operator()() noexcept
inline double uniform() noexcept
inline auto getState(const std::size_t index) const noexcept
inline void jump() noexcept
inline void mid_jump() noexcept
inline void long_jump() noexcept
inline void get_flat_state(result_type *out) const noexcept
inline void set_flat_state(const result_type *in) noexcept
inline std::uint8_t cache_index() const noexcept
inline void set_cache_index(std::uint8_t idx) noexcept
inline const std::array<result_type, CACHE_SIZE> &cache() const noexcept
inline std::array<result_type, CACHE_SIZE> &cache() noexcept

Public Static Functions

static inline constexpr auto() min () noexcept
static inline constexpr auto() max () noexcept
static inline constexpr auto stateSize() noexcept
static inline constexpr std::uint8_t simd_width() noexcept