87 {
88#if FL_FIXED_POINT_NARROW_DIVIDE
89
90
91
92
93
94
95 const u32 numerator =
mValue < 0
96 ?
static_cast<u32
>(-
static_cast<i64>(
mValue))
97 : static_cast<u32>(
mValue);
98 const u32 denominator =
99 b.mValue < 0 ?
static_cast<u32
>(-
static_cast<i64>(b.mValue))
100 : static_cast<u32>(b.mValue);
103 const bool negative = (
mValue < 0) != (b.mValue < 0);
104
105
106
107
108
109 return from_raw(
static_cast<i32
>(negative ? 0u - magnitude : magnitude));
110#else
113#endif
114 }
static constexpr i32 SCALE
static constexpr int FRAC_BITS
static constexpr FASTLED_FORCE_INLINE s16x16 from_raw(i32 raw) FL_NO_EXCEPT
FL_FIXED_POINT_DIVIDE_INLINE u32 divide64By32(u32 hi, u32 lo, u32 divisor) FL_NO_EXCEPT
(hi:lo) / divisor, for a quotient that fits 32 bits.