FastLED
3.9.15
Loading...
Searching...
No Matches
◆
interp16()
template<typename T>
T
fl::LUT
< T >::interp16
(
u16
alpha
)
inline
Definition at line
80
of file
lut.h
.
80
{
81
if
(
length
== 0)
82
return
T
();
83
if
(
alpha
== 0)
84
return
data
[0];
85
if
(
alpha
== 65535)
86
return
data
[
length
- 1];
87
88
// treat alpha/65535 as fraction, scale to [0..length-1]
89
u32
maxIndex
=
length
- 1;
90
u32
pos
=
u32
(
alpha
) *
maxIndex
;
// numerator
91
u32
idx0
=
pos
/ 65535;
// floor(position)
92
u32
idx1
=
idx0
<
maxIndex
?
idx0
+ 1 :
maxIndex
;
93
u16
blend
=
pos
% 65535;
// fractional part
94
95
const
T
&
a
=
data
[
idx0
];
96
const
T
&
b
=
data
[
idx1
];
97
// a + (b-a) * blend/65535
98
return
a
+ (
b
-
a
) *
blend
/ 65535;
99
}
fl::LUT::data
T * data
Definition
lut.h:103
fl::LUT::length
u32 length
Definition
lut.h:104
fl::LUT
Definition
lut.h:35
fl
LUT
Generated on Fri Aug 22 2025 20:59:36 for FastLED by
1.13.2