Random number generationΒΆ

namespace mdk
class Random
#include <Random.hpp>

A random number generator. We use two versions: a legacy version taken from Fortran, and a modern version. Aside from sampling from [0, 1], we add sampling from [a, b], N(0, 1), N(mu, sigma^2) or points on S^2.

Public Functions

inline Random(int seed)
inline double uniform()
inline Random getNewRandom()
Random(Random const &oth) = default
inline double uniform(double a, double b)
inline double normal()
inline std::pair<double, double> two_normals()
inline double normal(double mu, double sigma)
inline Eigen::Vector3d sphere()

Private Functions

Random() = default

Private Members

uint64_t state