Definition at line 211 of file u8x8.h.
211 {
212 u32 val =
static_cast<u32
>(
x.mValue);
214 if (msb < 0)
return u8x8();
218 t =
static_cast<i32
>(
220 } else {
221 t =
static_cast<i32
>(
223 }
224
225
226 constexpr int IFRAC = 16;
227 constexpr i32 c0 = 94528;
228 constexpr i32 c1 = -45814;
229 constexpr i32 c2 = 23821;
230 constexpr i32 c3 = -6986;
231
232 i32 t16 =
static_cast<i32
>(
t) << (IFRAC -
FRAC_BITS);
233
234 i32 acc = c3;
235 acc = c2 +
static_cast<i32
>((
static_cast<i64>(acc) * t16) >> IFRAC);
236 acc = c1 +
static_cast<i32
>((
static_cast<i64>(acc) * t16) >> IFRAC);
237 acc = c0 +
static_cast<i32
>((
static_cast<i64>(acc) * t16) >> IFRAC);
238 i32 frac_part =
static_cast<i32
>((
static_cast<i64>(acc) * t16) >> IFRAC);
239
240 i16 frac8 =
static_cast<i16
>(frac_part >> (IFRAC -
FRAC_BITS));
241
242 i32 result_raw =
static_cast<i32
>(
static_cast<u32
>(int_part) <<
FRAC_BITS) + frac8;
243
244 if (result_raw < 0)
return u8x8();
245 return from_raw(
static_cast<u16
>(result_raw));
246 }
static constexpr int FRAC_BITS
static constexpr FASTLED_FORCE_INLINE u8x8 from_raw(u16 raw) FL_NOEXCEPT
static constexpr i32 SCALE
static constexpr FASTLED_FORCE_INLINE int highest_bit(u32 v) FL_NOEXCEPT
constexpr u8x8() FL_NOEXCEPT=default
References u8x8(), FASTLED_FORCE_INLINE, FL_NOEXCEPT, FRAC_BITS, from_raw(), highest_bit(), SCALE, fl::t, and fl::x.
Referenced by pow().