Grok 12.0.1
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
hwy::HWY_NAMESPACE::internal::Xoshiro Class Reference

#include <random-inl.h>

Public Member Functions

HWY_CXX14_CONSTEXPR Xoshiro (const std::uint64_t seed) noexcept
 
HWY_CXX14_CONSTEXPR Xoshiro (const std::uint64_t seed, const std::uint64_t thread_id) noexcept
 
HWY_CXX14_CONSTEXPR std::uint64_t operator() () noexcept
 
HWY_CXX14_CONSTEXPR std::array< std::uint64_t, 4 > GetState () const
 
HWY_CXX17_CONSTEXPR void SetState (std::array< std::uint64_t, 4 > state) noexcept
 
HWY_CXX14_CONSTEXPR void Jump () noexcept
 
HWY_CXX14_CONSTEXPR void LongJump () noexcept
 

Static Public Member Functions

static constexpr std::uint64_t StateSize () noexcept
 

Private Member Functions

HWY_CXX14_CONSTEXPR std::uint64_t Next () noexcept
 
HWY_CXX14_CONSTEXPR void Jump (const std::uint64_t(&jumpArray)[4]) noexcept
 

Static Private Member Functions

static constexpr std::uint64_t Rotl (const std::uint64_t x, int k) noexcept
 

Private Attributes

std::uint64_t state_ [4]
 

Constructor & Destructor Documentation

◆ Xoshiro() [1/2]

HWY_CXX14_CONSTEXPR hwy::HWY_NAMESPACE::internal::Xoshiro::Xoshiro ( const std::uint64_t seed)
inlineexplicitnoexcept

◆ Xoshiro() [2/2]

HWY_CXX14_CONSTEXPR hwy::HWY_NAMESPACE::internal::Xoshiro::Xoshiro ( const std::uint64_t seed,
const std::uint64_t thread_id )
inlineexplicitnoexcept

References Jump().

Member Function Documentation

◆ GetState()

HWY_CXX14_CONSTEXPR std::array< std::uint64_t, 4 > hwy::HWY_NAMESPACE::internal::Xoshiro::GetState ( ) const
inline

References state_.

◆ Jump() [1/2]

HWY_CXX14_CONSTEXPR void hwy::HWY_NAMESPACE::internal::Xoshiro::Jump ( )
inlinenoexcept

References Jump().

Referenced by Jump(), LongJump(), and Xoshiro().

◆ Jump() [2/2]

HWY_CXX14_CONSTEXPR void hwy::HWY_NAMESPACE::internal::Xoshiro::Jump ( const std::uint64_t(&) jumpArray[4])
inlineprivatenoexcept

References Next(), and state_.

◆ LongJump()

HWY_CXX14_CONSTEXPR void hwy::HWY_NAMESPACE::internal::Xoshiro::LongJump ( )
inlinenoexcept

References Jump().

◆ Next()

HWY_CXX14_CONSTEXPR std::uint64_t hwy::HWY_NAMESPACE::internal::Xoshiro::Next ( )
inlineprivatenoexcept

References Rotl(), and state_.

Referenced by Jump(), and operator()().

◆ operator()()

HWY_CXX14_CONSTEXPR std::uint64_t hwy::HWY_NAMESPACE::internal::Xoshiro::operator() ( )
inlinenoexcept

References Next().

◆ Rotl()

static constexpr std::uint64_t hwy::HWY_NAMESPACE::internal::Xoshiro::Rotl ( const std::uint64_t x,
int k )
inlinestaticconstexprprivatenoexcept

Referenced by Next().

◆ SetState()

HWY_CXX17_CONSTEXPR void hwy::HWY_NAMESPACE::internal::Xoshiro::SetState ( std::array< std::uint64_t, 4 > state)
inlinenoexcept

References state_.

◆ StateSize()

static constexpr std::uint64_t hwy::HWY_NAMESPACE::internal::Xoshiro::StateSize ( )
inlinestaticconstexprnoexcept

Member Data Documentation

◆ state_

std::uint64_t hwy::HWY_NAMESPACE::internal::Xoshiro::state_[4]
private

Referenced by GetState(), Jump(), Next(), and SetState().


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