FastLED 3.9.15
Loading...
Searching...
No Matches
Fast Random Number Generators

Detailed Description

Fast 8-bit and 16-bit unsigned random number generators.

Significantly faster than Arduino random(), but also somewhat less random. You can add entropy.

Pseudo-random number generation follows the form:

X(n+1) = (2053 * X(n)) + 13849)
+ Collaboration diagram for Fast Random Number Generators:
fl::u16 rand16seed
 Seed for the random number generator functions.
 
LIB8STATIC fl::u8 random8 () FL_NOEXCEPT
 Generate an 8-bit random number.
 
LIB8STATIC fl::u16 random16 () FL_NOEXCEPT
 Generate a 16-bit random number.
 
LIB8STATIC fl::u8 random8 (fl::u8 lim) FL_NOEXCEPT
 Generate an 8-bit random number between 0 and lim.
 
LIB8STATIC fl::u8 random8 (fl::u8 min, fl::u8 lim) FL_NOEXCEPT
 Generate an 8-bit random number in the given range.
 
LIB8STATIC fl::u16 random16 (fl::u16 lim) FL_NOEXCEPT
 Generate an 16-bit random number between 0 and lim.
 
LIB8STATIC fl::u16 random16 (fl::u16 min, fl::u16 lim) FL_NOEXCEPT
 Generate an 16-bit random number in the given range.
 
LIB8STATIC void random16_set_seed (fl::u16 seed) FL_NOEXCEPT
 Set the 16-bit seed used for the random number generator.
 
LIB8STATIC fl::u16 random16_get_seed () FL_NOEXCEPT
 Get the current seed value for the random number generator.
 
LIB8STATIC void random16_add_entropy (fl::u16 entropy) FL_NOEXCEPT
 Add entropy into the random number generator.
 
#define FASTLED_RAND16_2053   ((fl::u16)(2053))
 Multiplier value for pseudo-random number generation.
 
#define FASTLED_RAND16_13849   ((fl::u16)(13849))
 Increment value for pseudo-random number generation.
 
#define APPLY_FASTLED_RAND16_2053(x)
 Multiplies a value by the pseudo-random multiplier.