faunus
Public Member Functions | Public Attributes | List of all members
Faunus::Random Class Reference

Random number generator. More...

#include <random.h>

Public Member Functions

 Random ()
 Constructor with deterministic seed.
 
void seed ()
 Set a non-deterministic ("hardware") seed.
 
double operator() ()
 Random double in uniform range [0,1)
 
auto range (std::integral auto min, std::integral auto max)
 Integer in closed interval [min:max]. More...
 
template<typename Iterator >
Iterator sample (Iterator begin, Iterator end)
 Pick random element in iterable range. More...
 

Public Attributes

RandomNumberEngine engine
 Random number engine used for all operations.
 

Detailed Description

Random number generator.

Example code:

Random r1; // default deterministic seed
Random r2 = R"( {"seed" : "hardware"} )"_json; // non-deterministic seed
r1.seed(); // non-deterministic seed

Member Function Documentation

◆ range()

auto Faunus::Random::range ( std::integral auto  min,
std::integral auto  max 
)
inline

Integer in closed interval [min:max].

Parameters
minminimum value (included)
maxmaximum value (included)
Returns
random integer in [min:max] range

◆ sample()

template<typename Iterator >
Iterator Faunus::Random::sample ( Iterator  begin,
Iterator  end 
)
inline

Pick random element in iterable range.

Parameters
beginBegin iterator
endEnd iterator
Returns
Iterator to random element

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