3#ifndef __INC_LIB8TION_RANDOM_H
4#define __INC_LIB8TION_RANDOM_H
6#include "platforms/is_platform.h"
9#include "platforms/avr/is_avr.h"
36#define FASTLED_RAND16_2053 ((fl::u16)(2053))
38#define FASTLED_RAND16_13849 ((fl::u16)(13849))
40#ifdef FL_IS_AVR_ATTINY
42#define APPLY_FASTLED_RAND16_2053(x) (x << 11) + (x << 2) + x
45#define APPLY_FASTLED_RAND16_2053(x) (x * FASTLED_RAND16_2053)
89 fl::u32 p = (fl::u32)lim * (fl::u32)r;
98 fl::u16 delta = lim -
min;
FL_DISABLE_WARNING_PUSH U constexpr common_type_t< T, U > min(T a, U b) FL_NOEXCEPT
Memory functions are available in fl:: namespace via fl/stl/cstring.h Using declarations cannot work ...
Defines static inlining macros for lib8tion functions.
LIB8STATIC void random16_add_entropy(fl::u16 entropy) FL_NOEXCEPT
Add entropy into the random number generator.
fl::u16 rand16seed
Seed for the random number generator functions.
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.
#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.
LIB8STATIC fl::u16 random16() FL_NOEXCEPT
Generate a 16-bit random number.
LIB8STATIC fl::u8 random8() FL_NOEXCEPT
Generate an 8-bit random number.
#define LIB8STATIC
Define a LIB8TION member function as static inline with an "unused" attribute.