37 return (high << 16) | low;
63 fl::u64 p = (fl::u64)n * (fl::u64)r;
64 return (u32)(p >> 32);
112 return (
u8)(((
u8)(r & 0xFF)) + ((
u8)(r >> 8)));
129 u8 delta = max - min;
144 return static_cast<u16
>((*this)(n));
152 return static_cast<u16
>((*this)(min, max));
static constexpr result_type maximum()
Get the maximum value this generator can produce.
static constexpr result_type minimum()
Get the minimum value this generator can produce.
result_type operator()(result_type n)
Generate a random number in the range [0, n)
u16 random16(u16 n)
Generate a 16-bit random number in the range [0, n)
u16 get_seed() const
Get the current seed value for this instance.
fl_random(u16 seed)
Constructor with explicit seed.
u32 result_type
The result type for this random generator (32-bit unsigned integer)
void add_entropy(u16 entropy)
Add entropy to this random number generator instance.
u32 next_random32()
Generate next 32-bit random number using this instance's seed.
u8 random8()
Generate an 8-bit random number.
u8 random8(u8 min, u8 max)
Generate an 8-bit random number in the range [min, max)
result_type operator()()
Generate a random number.
void set_seed(u16 seed)
Set the seed for this random number generator instance.
u16 seed_
The current seed state for this instance.
u8 random8(u8 n)
Generate an 8-bit random number in the range [0, n)
u16 next_random16()
Generate next 16-bit random number using this instance's seed.
u16 random16()
Generate a 16-bit random number.
result_type operator()(result_type min, result_type max)
Generate a random number in the range [min, max)
u16 random16(u16 min, u16 max)
Generate a 16-bit random number in the range [min, max)
fl_random()
Default constructor - uses current global random seed.
LIB8STATIC uint16_t random16_get_seed()
Get the current seed value for the random number generator.
#define APPLY_FASTLED_RAND16_2053(x)
Multiplies a value by the pseudo-random multiplier.
#define FASTLED_RAND16_13849
Increment value for pseudo-random number generation.
fl_random & default_random()
Global default random number generator instance.
Fast, efficient random number generators specifically designed for high-performance LED programming.