3#include <klib/random.hpp>
12 explicit BasicRandom(std::uint32_t
const seed) : m_gen(seed) {}
18 template <std::
integral Type =
int>
19 [[nodiscard]]
auto next_int(Type
const lo, Type
const hi) -> Type {
20 return klib::random_int(m_gen, lo, hi);
24 [[nodiscard]]
auto next_index(std::size_t
const size) -> std::size_t {
return klib::random_index(m_gen, size); }
27 [[nodiscard]]
auto next_float(
float const lo,
float const hi) {
return klib::random_float(m_gen, lo, hi); }
38 [[nodiscard]]
auto next_vec2(
float const lo,
float const hi) -> glm::vec2 {
return next_vec2(glm::vec2{lo}, glm::vec2{hi}); }
41 [[nodiscard]]
auto next_signed_float(
float const positive_lo,
float const positive_hi) ->
float {
46 [[nodiscard]]
auto next_signed_vec2(glm::vec2
const positive_lo, glm::vec2
const positive_hi) -> glm::vec2 {
50 [[nodiscard]]
auto next_signed_vec2(
float const positive_lo,
float const positive_hi) -> glm::vec2 {
Stateful random number generator.
Definition random.hpp:9
auto next_vec2(glm::vec2 const lo, glm::vec2 const hi) -> glm::vec2
Definition random.hpp:36
auto next_signed_float(float const positive_lo, float const positive_hi) -> float
Definition random.hpp:41
auto next_signed_vec2(float const positive_lo, float const positive_hi) -> glm::vec2
Definition random.hpp:50
auto next_signed_vec2(glm::vec2 const positive_lo, glm::vec2 const positive_hi) -> glm::vec2
Definition random.hpp:46
BasicRandom(std::uint32_t const seed)
Initialize generator with a custom seed.
Definition random.hpp:12
auto next_sign() -> float
Definition random.hpp:33
auto next_int(Type const lo, Type const hi) -> Type
Definition random.hpp:19
auto next_vec2(float const lo, float const hi) -> glm::vec2
Definition random.hpp:38
auto next_index(std::size_t const size) -> std::size_t
Definition random.hpp:24
auto next_float(float const lo, float const hi)
Definition random.hpp:27
auto next_bool() -> bool
Definition random.hpp:30
Definition animation.hpp:8