Kepler's Torus
RNG.cpp
1 #include "RNG.h"
2 
3 RNG::RNG (): RNG (generateSeed ()) {}
4 
5 RNG::RNG (unsigned int seed): seed {seed} {}
6 
7 double RNG::random (Bounds bounds) {
8  if (!generators.contains (bounds)) {
9  // Add corresponding generator
10  generators.emplace (bounds, Uniform (bounds, seed));
11  }
12  return generators.at(bounds).random();
13 }
14 
15 /* Copyright © 2022 Aaron Alef */
std::unordered_map< Bounds, Uniform > generators
Map of random number generators previously used.
Definition: RNG.h:16
double random(Bounds bounds)
Create a new random double within the boundaries provided.
Definition: RNG.cpp:7
Store lower inclusive and upper exclusive boundaries as container for interaction with random number ...
Definition: bounds.h:8
unsigned int const seed
The one seed used to generate all random numbers.
Definition: RNG.h:20
Definition: RNG.h:13
Definition: uniform.h:8
RNG()
Create a new random number generator with random seed.
Definition: RNG.cpp:3