FastLED 3.10.6
Loading...
Searching...
No Matches
int_asm.h
Go to the documentation of this file.
1#pragma once
2
24
25// platforms/int_asm.h brings fl/stl/int.h, compiler_control.h and noexcept.h.
26// Including them again here is not free: fl/stl/int.h has to be reached through
27// the platform's type dance on some targets, and pulling it in directly ahead
28// of that breaks the riscv32 build with a conflicting size_t typedef.
29#include "platforms/int_asm.h" // IWYU pragma: export
30
31namespace fl {
32namespace math {
33
36 return platforms::math::int_asm::mulshift32(x, y);
37}
38
40template <int Shift>
42 return platforms::math::int_asm::mul_shift_round32<Shift>(x, y);
43}
44
47 return platforms::math::int_asm::wrap_add32(x, y);
48}
49
52 return platforms::math::int_asm::wrap_sub32(x, y);
53}
54
55} // namespace math
56} // namespace fl
#define FASTLED_FORCE_INLINE
FASTLED_FORCE_INLINE i32 wrap_add32(i32 x, i32 y) FL_NO_EXCEPT
Definition int_asm.h:46
FASTLED_FORCE_INLINE i32 mulshift32(i32 x, i32 y) FL_NO_EXCEPT
Definition int_asm.h:35
FASTLED_FORCE_INLINE i32 mul_shift_round32(i32 x, i32 y) FL_NO_EXCEPT
Definition int_asm.h:41
FASTLED_FORCE_INLINE i32 wrap_sub32(i32 x, i32 y) FL_NO_EXCEPT
Definition int_asm.h:51
InputGamut g FL_NO_EXCEPT
Definition rgbw.h:121
Base definition for an LED controller.
Definition crgb.hpp:179