35#ifndef DOXYGEN_SHOULD_SKIP_THIS
55 return std::numeric_limits<result_type>::min();
59 return std::numeric_limits<result_type>::max();
120 std::uniform_int_distribution<T> dist(min, max);
121 return dist(m_engine);
133 std::uniform_real_distribution<T> dist(min, max);
134 return dist(m_engine);
146 std::normal_distribution<T> dist(mean, stddev);
147 return dist(m_engine);
157 std::bernoulli_distribution dist(p);
158 return dist(m_engine);
221#ifndef DOXYGEN_SHOULD_SKIP_THIS
A random engine.
Definition: Random.h:46
static constexpr result_type max()
Definition: Random.h:58
static constexpr result_type min()
Definition: Random.h:54
RandomEngine(result_type seed)
uint64_t result_type
Definition: Random.h:48
A set of random utilities.
Definition: Random.h:83
float computeRadius(float radiusMin, float radiusMax)
Compute a uniform radius.
Random()
Default constructor with complex initialization.
RandomEngine & getEngine()
Get the underlying engine.
Definition: Random.h:213
bool computeBernoulli(double p)
Compute a boolean with a Bernoulli distribution.
Definition: Random.h:156
float computeAngle()
Compute a uniform angle in the range .
T computeUniformFloat(T min, T max)
Compute a float with a uniform distribution.
Definition: Random.h:132
Vector2f computePosition(const CircF &area)
Compute a uniform position in a circle.
Random(uint64_t seed)
Constructor with simple initialization.
Definition: Random.h:105
T computeNormalFloat(T mean, T stddev)
Compute a float with a normal (Gaussian) distribution.
Definition: Random.h:145
gf::Id computeId()
Compute an id.
Vector2i computePosition(const RectI &area)
Compute a uniform position in a given area.
Vector2f computePosition(const RectF &area)
Compute a uniform position in a given area.
T computeUniformInteger(T min, T max)
Compute an integer with a uniform distribution.
Definition: Random.h:119
uint64_t Id
An identifier.
Definition: Id.h:37
The namespace for gf classes.
Utility class for manipulating circles.
Definition: Circ.h:61