48 std::uint32_t
const& seed,
49 std::uint32_t
const& subsequence = 0,
50 std::uint32_t
const& offset = 0)
52 state((seed ^ subsequence) + offset)
61 return std::mt19937::min();
66 return std::mt19937::max();
93 std::uint32_t
const& seed,
94 std::uint32_t
const& subsequence = 0,
95 std::uint32_t
const& offset = 0)
97 state((seed ^ subsequence) + offset)
128 std::random_device state;
142 return std::random_device::min();
147 return std::random_device::max();
157 namespace distribution::cpu
163 template<
typename TEngine>
166 return m_dist(engine);
170 std::normal_distribution<T> m_dist;
177 template<
typename TEngine>
180 return m_dist(engine);
184 std::uniform_real_distribution<T> m_dist;
191 template<
typename TEngine>
194 return m_dist(engine);
198 std::uniform_int_distribution<T> m_dist{
200 std::numeric_limits<T>::max()};
204 namespace distribution::trait
237 namespace engine::trait
245 std::uint32_t
const& seed = 0,
246 std::uint32_t
const& subsequence = 0,
249 return {seed, subsequence, offset};
258 std::uint32_t
const& seed = 0,
259 std::uint32_t
const& subsequence = 0,
262 return {seed, subsequence, offset};
271 std::uint32_t
const& seed = 0,
272 std::uint32_t
const& subsequence = 0,
275 return {seed, subsequence, offset};
The standard library mersenne twister implementation.
The standard library rand device implementation.
"Tiny" state mersenne twister implementation
The standard library mersenne twister random number generator.
std::mt19937::result_type result_type
MersenneTwister()=default
static ALPAKA_FN_HOST constexpr auto max() -> result_type
static ALPAKA_FN_HOST constexpr auto min() -> result_type
ALPAKA_FN_HOST MersenneTwister(std::uint32_t const &seed, std::uint32_t const &subsequence=0, std::uint32_t const &offset=0)
ALPAKA_FN_HOST auto operator()() -> result_type
The standard library's random device based on the local entropy pool.
static ALPAKA_FN_HOST constexpr auto max() -> result_type
std::random_device::result_type result_type
ALPAKA_FN_HOST auto operator()() -> result_type
ALPAKA_FN_HOST RandomDevice(std::uint32_t const &, std::uint32_t const &=0, std::uint32_t const &=0)
static ALPAKA_FN_HOST constexpr auto min() -> result_type
"Tiny" state mersenne twister implementation
static ALPAKA_FN_HOST constexpr auto min() -> result_type
TinyMTengine::result_type result_type
ALPAKA_FN_HOST auto operator()() -> result_type
static ALPAKA_FN_HOST constexpr auto max() -> result_type
TinyMersenneTwister()=default
ALPAKA_FN_HOST TinyMersenneTwister(std::uint32_t const &seed, std::uint32_t const &subsequence=0, std::uint32_t const &offset=0)
Tag used in class inheritance hierarchies that describes that a specific interface (TInterface) is im...
The CPU random number normal distribution.
ALPAKA_FN_HOST auto operator()(TEngine &engine) -> T
static ALPAKA_FN_HOST auto createNormalReal(RandStdLib const &) -> cpu::NormalReal< T >
The random number float normal distribution get trait.
Implementation of std::UniformRandomBitGenerator for TinyMT32.
std::uint32_t result_type
static constexpr auto max() -> result_type
static constexpr auto min() -> result_type
static ALPAKA_FN_HOST auto createDefault(MersenneTwister const &, std::uint32_t const &seed=0, std::uint32_t const &subsequence=0, std::uint32_t const &offset=0) -> cpu::MersenneTwister
static ALPAKA_FN_HOST auto createDefault(RandomDevice const &, std::uint32_t const &seed=0, std::uint32_t const &subsequence=0, std::uint32_t const &offset=0) -> cpu::RandomDevice
static ALPAKA_FN_HOST auto createDefault(TinyMersenneTwister const &, std::uint32_t const &seed=0, std::uint32_t const &subsequence=0, std::uint32_t const &offset=0) -> cpu::TinyMersenneTwister
The random number default generator engine get trait.