40 constexpr fl::i32 RAD_TO_A24 = 2670177;
41 return static_cast<fl::u32
>(
56 const fl::i32 *fade_lut,
60 constexpr fl::i32
FP_ONE =
static_cast<fl::i32
>(1) << FP::FRAC_BITS;
70 fl::i32 cos_dist =
static_cast<fl::i32
>(
71 (
static_cast<fl::i64
>(sc.
cos_val) * p.dist_raw) >> 31);
72 fl::i32 sin_dist =
static_cast<fl::i32
>(
73 (
static_cast<fl::i64
>(sc.
sin_val) * p.dist_raw) >> 31);
77 fl::i32 pre_x = p.offset_x_raw + p.center_x_raw - cos_dist;
78 fl::i32 pre_y = p.offset_y_raw + p.center_y_raw - sin_dist;
80 fl::i32 nx =
static_cast<fl::i32
>(
81 (
static_cast<fl::i64
>(pre_x) * p.scale_x_raw) >> FP::FRAC_BITS);
82 fl::i32 ny =
static_cast<fl::i32
>(
83 (
static_cast<fl::i64
>(pre_y) * p.scale_y_raw) >> FP::FRAC_BITS);
86 fl::i32 nz =
static_cast<fl::i32
>(
87 (
static_cast<fl::i64
>(p.offset_z_raw + p.z_raw) * p.scale_z_raw) >> FP::FRAC_BITS);
98 if (raw_noise < p.low_limit_raw) raw_noise = p.low_limit_raw;
99 if (raw_noise > p.high_limit_raw) raw_noise = p.high_limit_raw;
103 fl::i32 range = p.high_limit_raw - p.low_limit_raw;
104 fl::i32 shifted = raw_noise - p.low_limit_raw;
114 result =
static_cast<fl::i32
>(
115 (
static_cast<fl::i64
>(shifted) * 255) >> FP::FRAC_BITS);
116 }
else if (range == 2 *
FP_ONE) {
118 result =
static_cast<fl::i32
>(
119 (
static_cast<fl::i64
>(shifted) * 255) >> (FP::FRAC_BITS + 1));
122 result =
static_cast<fl::i32
>(
123 (
static_cast<fl::i64
>(shifted) * 255) / range);
137 return (a * b) / 255;
143 return 255 - ((255 - a) * (255 - b)) / 255;
147 if (b >= 255)
return 255;
148 fl::i32
result = (a * 255) / (255 - b);
153 if (b <= 0)
return 0;
154 fl::i32
result = 255 - ((255 - a) * 255) / b;
169 if (r > 255) r = 255;
171 if (
g > 255)
g = 255;
173 if (b > 255) b = 255;
183 const fl::i32 *fade_lut,
static constexpr int FRAC_BITS
constexpr i32 raw() const FL_NO_EXCEPT
#define FASTLED_FORCE_INLINE
FASTLED_FORCE_INLINE fl::i32 render_value_fp(const render_parameters_fp &p, const fl::i32 *fade_lut, const fl::u8 *perm) FL_NO_EXCEPT
u8 u8 fract8 blur_amount FL_NO_EXCEPT
FASTLED_FORCE_INLINE fl::i32 render_value_fp_from_float(const render_parameters &anim, const fl::i32 *fade_lut, const fl::u8 *perm) FL_NO_EXCEPT
FASTLED_FORCE_INLINE fl::i32 colordodge_fp(fl::i32 a, fl::i32 b) FL_NO_EXCEPT
FASTLED_FORCE_INLINE void rgb_sanity_check_fp(fl::i32 &r, fl::i32 &g, fl::i32 &b) FL_NO_EXCEPT
static constexpr i32 FP_ONE
FASTLED_FORCE_INLINE fl::i32 screen_fp(fl::i32 a, fl::i32 b) FL_NO_EXCEPT
FASTLED_FORCE_INLINE fl::i32 add_fp(fl::i32 a, fl::i32 b) FL_NO_EXCEPT
FASTLED_FORCE_INLINE fl::u32 radiansToA24_fp(fl::i32 angle_s16x16_raw) FL_NO_EXCEPT
FASTLED_FORCE_INLINE SinCos32 sincos32(u32 angle) FL_NO_EXCEPT
FASTLED_FORCE_INLINE fl::i32 colorburn_fp(fl::i32 a, fl::i32 b) FL_NO_EXCEPT
expected< T, E > result
Alias for expected (Rust-style naming)
FASTLED_FORCE_INLINE fl::i32 subtract_fp(fl::i32 a, fl::i32 b) FL_NO_EXCEPT
FASTLED_FORCE_INLINE fl::i32 multiply_fp(fl::i32 a, fl::i32 b) FL_NO_EXCEPT
Base definition for an LED controller.
static fl::i32 pnoise3d_raw(fl::i32 fx_raw, fl::i32 fy_raw, fl::i32 fz_raw, const fl::i32 *fade_lut, const fl::u8 *perm) FL_NO_EXCEPT
static fl::i32 pnoise2d_raw(fl::i32 fx_raw, fl::i32 fy_raw, const fl::i32 *fade_lut, const fl::u8 *perm) FL_NO_EXCEPT