FastLED 3.9.15
Loading...
Searching...
No Matches

◆ easeOutCubic16()

u16 fl::easeOutCubic16 ( u16 i)

16-bit cubic ease-out function Takes an input value 0-65535 and returns an eased value 0-65535

Definition at line 261 of file ease.cpp.hpp.

261 {
262 // ease-out cubic: 1 - (1-t)³
263 // For 16-bit: y = MAX - (MAX-i)³ / MAX²
264 constexpr u32 MAX = 0xFFFF; // 65535
265 constexpr fl::u64 DENOM = (fl::u64)MAX * MAX; // 65535²
266 constexpr fl::u64 ROUND = DENOM >> 1; // for rounding
267
268 fl::u64 d = MAX - i; // (MAX - i)
269 fl::u64 cube = d * d * d; // (MAX-i)³
270 fl::u64 num = cube + ROUND;
271 return u16(MAX - (num / DENOM));
272}
#define MAX(a, b)
Definition coder.h:60
fl::u64 u64
Definition s16x16x4.h:221

References MAX.

Referenced by ease16(), and ease16().

+ Here is the caller graph for this function: