tetl 0.1.0
Embedded Template Library
Loading...
Searching...
No Matches

Random number generators and distributions. More...

Classes

struct  bernoulli_distribution
 
struct  uniform_int_distribution< IntType >
 
struct  uniform_real_distribution< RealType >
 
struct  xorshift< UInt, X, Y, Z >
 https://en.wikipedia.org/wiki/Xorshift More...
 
struct  xoshiro128plus
 
struct  xoshiro128plusplus
 
struct  xoshiro128starstar
 

Typedefs

using xorshift16 = xorshift<uint16_t, 7, 9, 8>
 16-bit pseudo number generator
 
using xorshift32 = xorshift<uint32_t, 13, 17, 5>
 32-bit pseudo number generator
 
using xorshift64 = xorshift<uint64_t, 13, 7, 17>
 64-bit pseudo number generator
 

Functions

template<typename Real, size_t Bits, typename RNG>
constexpr auto generate_canonical (RNG &g) noexcept(noexcept(g())) -> Real
 Generates a random floating point number in range [0,1).
 

Detailed Description

Random number generators and distributions.

Typedef Documentation

◆ xorshift16

template<unsigned_integral UInt, UInt X, UInt Y, UInt Z>
using xorshift16 = xorshift<uint16_t, 7, 9, 8>
related

◆ xorshift32

template<unsigned_integral UInt, UInt X, UInt Y, UInt Z>
using xorshift32 = xorshift<uint32_t, 13, 17, 5>
related

32-bit pseudo number generator

◆ xorshift64

template<unsigned_integral UInt, UInt X, UInt Y, UInt Z>
using xorshift64 = xorshift<uint64_t, 13, 7, 17>
related

64-bit pseudo number generator

Function Documentation

◆ generate_canonical()

template<typename Real, size_t Bits, typename RNG>
auto generate_canonical ( RNG & g) -> Real
nodiscardconstexprnoexcept

Generates a random floating point number in range [0,1).