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

#include <random-inl.h>

Public Member Functions

 VectorXoshiro (const std::uint64_t seed, const std::uint64_t threadNumber=0)
 
HWY_INLINE VU64 operator() () noexcept
 
AlignedVector< std::uint64_t > operator() (const std::size_t n)
 
template<std::uint64_t N>
std::array< std::uint64_t, N > operator() () noexcept
 
std::uint64_t StateSize () const noexcept
 
const StateTypeGetState () const
 

Private Types

using VU64 = Vec<ScalableTag<std::uint64_t>>
 
using StateType = AlignedNDArray<std::uint64_t, 2>
 

Private Member Functions

HWY_INLINE VU64 Next () noexcept
 

Static Private Member Functions

static HWY_INLINE VU64 Update (VU64 &s0, VU64 &s1, VU64 &s2, VU64 &s3) noexcept
 

Private Attributes

StateType state_
 
const std::uint64_t streams
 

Member Typedef Documentation

◆ StateType

◆ VU64

using hwy::HWY_NAMESPACE::VectorXoshiro::VU64 = Vec<ScalableTag<std::uint64_t>>
private

Constructor & Destructor Documentation

◆ VectorXoshiro()

hwy::HWY_NAMESPACE::VectorXoshiro::VectorXoshiro ( const std::uint64_t seed,
const std::uint64_t threadNumber = 0 )
inlineexplicit

Member Function Documentation

◆ GetState()

const StateType & hwy::HWY_NAMESPACE::VectorXoshiro::GetState ( ) const
inline

◆ Next()

HWY_INLINE VU64 hwy::HWY_NAMESPACE::VectorXoshiro::Next ( )
inlineprivatenoexcept

◆ operator()() [1/3]

HWY_INLINE VU64 hwy::HWY_NAMESPACE::VectorXoshiro::operator() ( )
inlinenoexcept

◆ operator()() [2/3]

template<std::uint64_t N>
std::array< std::uint64_t, N > hwy::HWY_NAMESPACE::VectorXoshiro::operator() ( )
inlinenoexcept

◆ operator()() [3/3]

AlignedVector< std::uint64_t > hwy::HWY_NAMESPACE::VectorXoshiro::operator() ( const std::size_t n)
inline

◆ StateSize()

std::uint64_t hwy::HWY_NAMESPACE::VectorXoshiro::StateSize ( ) const
inlinenoexcept

◆ Update()

static HWY_INLINE VU64 hwy::HWY_NAMESPACE::VectorXoshiro::Update ( VU64 & s0,
VU64 & s1,
VU64 & s2,
VU64 & s3 )
inlinestaticprivatenoexcept

Member Data Documentation

◆ state_

StateType hwy::HWY_NAMESPACE::VectorXoshiro::state_
private

◆ streams

const std::uint64_t hwy::HWY_NAMESPACE::VectorXoshiro::streams
private

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