Stateful random number generator.
More...
#include <le2d/random.hpp>
|
| | BasicRandom (std::uint32_t const seed) |
| | Initialize generator with a custom seed.
|
| |
| | explicit (false) BasicRandom() |
| | Initialize generator with a standard random device.
|
| |
| template<std::integral Type = int> |
| auto | next_int (Type const lo, Type const hi) -> Type |
| |
| auto | next_index (std::size_t const size) -> std::size_t |
| |
| auto | next_float (float const lo, float const hi) |
| |
| auto | next_bool () -> bool |
| |
| auto | next_sign () -> float |
| |
| auto | next_vec2 (glm::vec2 const lo, glm::vec2 const hi) -> glm::vec2 |
| |
| auto | next_vec2 (float const lo, float const hi) -> glm::vec2 |
| |
| auto | next_signed_float (float const positive_lo, float const positive_hi) -> float |
| |
| auto | next_signed_vec2 (glm::vec2 const positive_lo, glm::vec2 const positive_hi) -> glm::vec2 |
| |
| auto | next_signed_vec2 (float const positive_lo, float const positive_hi) -> glm::vec2 |
| |
template<typename Gen>
class le::BasicRandom< Gen >
Stateful random number generator.
- Template Parameters
-
| Gen | Random generator / engine. |
◆ BasicRandom()
Initialize generator with a custom seed.
◆ explicit()
Initialize generator with a standard random device.
◆ next_bool()
◆ next_float()
- Returns
- Random float in [lo, hi].
◆ next_index()
template<typename Gen >
| auto le::BasicRandom< Gen >::next_index |
( |
std::size_t const |
size | ) |
-> std::size_t |
|
inline |
- Returns
- Random index in [0, size).
◆ next_int()
template<typename Gen >
template<std::integral Type = int>
| auto le::BasicRandom< Gen >::next_int |
( |
Type const |
lo, |
|
|
Type const |
hi |
|
) |
| -> Type |
|
inline |
- Returns
- Random integer in [lo, hi].
◆ next_sign()
◆ next_signed_float()
template<typename Gen >
| auto le::BasicRandom< Gen >::next_signed_float |
( |
float const |
positive_lo, |
|
|
float const |
positive_hi |
|
) |
| -> float |
|
inline |
- Returns
- Random signed float with magnitude between [positive_lo, positive_hi].
◆ next_signed_vec2() [1/2]
template<typename Gen >
| auto le::BasicRandom< Gen >::next_signed_vec2 |
( |
float const |
positive_lo, |
|
|
float const |
positive_hi |
|
) |
| -> glm::vec2 |
|
inline |
- Returns
- Random signed vec2 with magnitude between [positive_lo, positive_hi].
◆ next_signed_vec2() [2/2]
template<typename Gen >
| auto le::BasicRandom< Gen >::next_signed_vec2 |
( |
glm::vec2 const |
positive_lo, |
|
|
glm::vec2 const |
positive_hi |
|
) |
| -> glm::vec2 |
|
inline |
- Returns
- Random signed vec2 with magnitude between [positive_lo, positive_hi].
◆ next_vec2() [1/2]
template<typename Gen >
| auto le::BasicRandom< Gen >::next_vec2 |
( |
float const |
lo, |
|
|
float const |
hi |
|
) |
| -> glm::vec2 |
|
inline |
- Returns
- Random vec2 in [lo, hi].
◆ next_vec2() [2/2]
template<typename Gen >
| auto le::BasicRandom< Gen >::next_vec2 |
( |
glm::vec2 const |
lo, |
|
|
glm::vec2 const |
hi |
|
) |
| -> glm::vec2 |
|
inline |
- Returns
- Random vec2 in [lo, hi].
The documentation for this class was generated from the following file: