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:
uint16_t rand16seed
 Seed for the random number generator functions.
 
LIB8STATIC uint8_t random8 ()
 Generate an 8-bit random number.
 
LIB8STATIC uint16_t random16 ()
 Generate a 16-bit random number.
 
LIB8STATIC uint8_t random8 (uint8_t lim)
 Generate an 8-bit random number between 0 and lim.
 
LIB8STATIC uint8_t random8 (uint8_t min, uint8_t lim)
 Generate an 8-bit random number in the given range.
 
LIB8STATIC uint16_t random16 (uint16_t lim)
 Generate an 16-bit random number between 0 and lim.
 
LIB8STATIC uint16_t random16 (uint16_t min, uint16_t lim)
 Generate an 16-bit random number in the given range.
 
LIB8STATIC void random16_set_seed (uint16_t seed)
 Set the 16-bit seed used for the random number generator.
 
LIB8STATIC uint16_t random16_get_seed ()
 Get the current seed value for the random number generator.
 
LIB8STATIC void random16_add_entropy (uint16_t entropy)
 Add entropy into the random number generator.
 
#define FASTLED_RAND16_2053   ((uint16_t)(2053))
 Multiplier value for pseudo-random number generation.
 
#define FASTLED_RAND16_13849   ((uint16_t)(13849))
 Increment value for pseudo-random number generation.
 
#define APPLY_FASTLED_RAND16_2053(x)
 Multiplies a value by the pseudo-random multiplier.