Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
random.hpp File Reference

Generating (pseudo) random numbers with controlled seed. More...

Go to the source code of this file.

Description

Generating (pseudo) random numbers with controlled seed.

As an extension on top of the C++ random number framework, several instances of random number sequence generators can be easily created with a controlled seed. For simplified usage, two default instances are exposed as global variable

See also
Random_test

Definition in file random.hpp.

#include "lib/integral.hpp"
#include "lib/hash-value.h"
#include "lib/nocopy.hpp"
#include <random>

Namespaces

namespace  lib
 Implementation namespace for support and library code.
 
namespace  lib::anonymous_namespace{random.hpp}
 

Typedefs

using Random = RandomSequencer< std::mt19937_64 >
 PRNG engine to use by default: 64bit Mersenne twister.
 

Classes

class  SeedNucleus
 Establishes a seed point for any instance or performance. More...
 
class  RandomSequencer< GEN >
 Access point to a selection of random number sources. More...
 
class  RandomSequencer< GEN >::Seed
 
class  CappedGen< GEN >
 Adapter to protect against data corruption caused by concurrent access. More...
 

Functions

uint constexpr _iBOUND ()
 
int rani (uint bound=_iBOUND())
 
double ranRange (double start, double bound)
 
double ranNormal (double mean=0.0, double stdev=1.0)
 
lib::HashVal ranHash ()
 
void randomiseRandomness ()
 inject true randomness into the defaultGen
 
SeedNucleusseedFromDefaultGen ()
 draw seed another Generator from the default RandomSequencer

 
template<class GEN >
auto buildCappedSubSequence (RandomSequencer< GEN > &src)