MCPcopy Create free account
hub / github.com/FastLED/FastLED / easeInOutQuad8

Function easeInOutQuad8

src/fl/math/ease.cpp.hpp:64–82  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

62}
63
64u8 easeInOutQuad8(u8 i) {
65 constexpr u16 MAX = 0xFF; // 255
66 constexpr u16 HALF = (MAX + 1) >> 1; // 128
67 constexpr u16 DENOM = MAX; // divisor for scaling
68 constexpr u16 ROUND = DENOM >> 1; // for rounding
69
70 if (i < HALF) {
71 // first half: y = 2·(i/MAX)² → y_i = 2·i² / MAX
72 u32 t = i;
73 u32 num = 2 * t * t + ROUND; // 2*i², +half for rounding
74 return u8(num / DENOM);
75 } else {
76 // second half: y = 1 − 2·(1−i/MAX)²
77 // → y_i = MAX − (2·(MAX−i)² / MAX)
78 u32 d = MAX - i;
79 u32 num = 2 * d * d + ROUND; // 2*(MAX−i)², +half for rounding
80 return u8(MAX - (num / DENOM));
81 }
82}
83
84u8 easeInOutCubic8(u8 i) {
85 constexpr u16 MAX = 0xFF; // 255

Callers 2

ease8Function · 0.85
FL_TEST_FILEFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected