44 m0 = (m0 ^ dmask) - dmask;
49 i32 r = (i32)((
i64)c *
t >> 16) + m0;
50 return (i32)(((
i64)r *
t >> 16) + (
i64)y0);
58 u8 angle256 =
static_cast<u8>(angle >> 16);
59 u32
t = angle & 0xFFFF;
61 u8 quadrant = angle256 >> 6;
62 u8 pos = angle256 & 0x3F;
65 u8 mirror = quadrant & 1;
66 u8 qi =
static_cast<u8>(
pos + mirror * (64 - 2 *
pos));
67 u8 qi_next =
static_cast<u8>(qi + 1 - 2 * mirror);
69 i32 dmask = -
static_cast<i32
>(mirror);
73 i32 vmask = -
static_cast<i32
>((quadrant >> 1) & 1);
74 return (i32)(((
i64)raw ^ vmask) - vmask);
80 return sin32(angle + 4194304u);
87 u8 angle256 =
static_cast<u8>(angle >> 16);
88 u32
t = angle & 0xFFFF;
90 u8 quadrant = angle256 >> 6;
91 u8 pos = angle256 & 0x3F;
94 u8 mirror_s = quadrant & 1;
95 u8 qi =
static_cast<u8>(
pos + mirror_s * (64 - 2 *
pos));
96 u8 qi_next =
static_cast<u8>(qi + 1 - 2 * mirror_s);
99 i32 sdmask = -
static_cast<i32
>(mirror_s);
100 i32 cdmask = ~sdmask;
107 i32 svmask = -
static_cast<i32
>((quadrant >> 1) & 1);
109 i32 cvmask = -
static_cast<i32
>((quadrant ^ (quadrant >> 1)) & 1);
112 out.
sin_val = (i32)(((
i64)s_raw ^ svmask) - svmask);
113 out.
cos_val = (i32)(((
i64)c_raw ^ cvmask) - cvmask);
120 u32 angle32 =
static_cast<u32
>(angle) << 8;
121 return static_cast<i16
>(
sin32(angle32) >> 16);
127 u32 angle32 =
static_cast<u32
>(angle) << 8;
128 return static_cast<i16
>(
cos32(angle32) >> 16);
#define FASTLED_FORCE_INLINE
fl::UISlider offset("Offset", 0.0f, 0.0f, 1.0f, 0.01f)
#define FL_PGM_READ_DWORD_ALIGNED(addr)
Wrapper definitions to allow seamless use of PROGMEM in environments that have it.
#define FL_PROGMEM
PROGMEM keyword for storage.
FASTLED_FORCE_INLINE i32 sin32(u32 angle) FL_NO_EXCEPT
const i32 sinCosPairedLut[]
FASTLED_FORCE_INLINE i16 cos16lut(u16 angle) FL_NO_EXCEPT
FASTLED_FORCE_INLINE SinCos32 sincos32(u32 angle) FL_NO_EXCEPT
FASTLED_FORCE_INLINE i32 cos32(u32 angle) FL_NO_EXCEPT
InputGamut g FL_NO_EXCEPT
FASTLED_FORCE_INLINE i32 read_sin32_lut(const i32 *addr) FL_NO_EXCEPT
FASTLED_FORCE_INLINE i16 sin16lut(u16 angle) FL_NO_EXCEPT
FASTLED_FORCE_INLINE i32 sin32_interp(u8 qi, u8 qi_next, i32 dmask, u32 t, u8 offset=0) FL_NO_EXCEPT
Base definition for an LED controller.