355 {
356
357
358
359
360
361
362
363 mLut[0] = 0;
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387 const fl::s8x24 gamma_fp(
gamma);
388 constexpr fl::s8x24 inv_255_fp(1.0f / 255.0f);
389 for (int i = 1; i < 256; ++i) {
390 const fl::s8x24
x =
static_cast<i32
>(i) * inv_255_fp;
392
393
394
395
397 (
static_cast<fl::u64>(
static_cast<fl::u32
>(r.
raw())) * 65535ull
398 + (1ull << 23)) >> 24;
399 mLut[i] = static_cast<u16>(scaled > 65535u ? 65535u : scaled);
400 }
401 }
static FASTLED_FORCE_INLINE s8x24 pow(s8x24 base, s8x24 exp) FL_NOEXCEPT
constexpr i32 raw() const FL_NOEXCEPT
constexpr u32 gamma(float g) FL_NOEXCEPT