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