37 {
38 int X, Y;
39 fl::i16 x16, y16;
42 X &= 255;
43 Y &= 255;
44
45
46
47 fl::i32 u =
fade(x16, fade_lut);
48 fl::i32 v =
fade(y16, fade_lut);
49
50 int A = perm[X & 255] + Y;
51 int AA = perm[A & 255];
52 int AB = perm[(A + 1) & 255];
53 int B = perm[(X + 1) & 255] + Y;
54 int BA = perm[
B & 255];
55 int BB = perm[(
B + 1) & 255];
56
57
58 fl::i32 g00 =
grad_i16(perm[AA & 255], x16, y16);
62
63
64 fl::i32 lerp0 =
lerp(u, g00, g10);
65 fl::i32 lerp1 =
lerp(u, g01, g11);
67
69}
expected< T, E > result
Alias for expected (Rust-style naming)
static FASTLED_FORCE_INLINE fl::i32 lerp(fl::i32 t, fl::i32 a, fl::i32 b) FL_NO_EXCEPT
static FASTLED_FORCE_INLINE void floor_frac_i16(fl::i32 fp16, int &ifloor, fl::i16 &frac16) FL_NO_EXCEPT
static constexpr fl::i32 HP_ONE_I16
static FASTLED_FORCE_INLINE fl::i32 grad_i16(int hash, fl::i16 x, fl::i16 y) FL_NO_EXCEPT
static FASTLED_FORCE_INLINE fl::i32 fade(fl::i16 t, const fl::i32 *table) FL_NO_EXCEPT