Class XoshiroNative
Defined in File xoshiro_simd.hpp
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
-
using result_type = std::uint64_t