|
FastLED 3.10.6
|
Four-lane SIMD batch of fl::sincos32.
Split out of sin32.h so that the scalar sin32/cos32 LUT (reached from CRGB via ease.h and the fixed-point types) no longer drags fl/math/simd.h and the platform intrinsics into every translation unit. Include this header only where sincos32_simd() is actually used.
Definition in file sin32_simd.h.
#include "fl/math/sin32.h"#include "fl/math/simd.h"#include "fl/stl/align.h"#include "fl/stl/compiler_control.h"#include "fl/stl/int.h"#include "fl/stl/noexcept.h"
Include dependency graph for sin32_simd.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Namespaces | |
| namespace | fl |
| Base definition for an LED controller. | |
Functions | |
| struct | fl::FL_ALIGNAS (16) SinCos32_simd |
| Combined sin+cos result for 4 angles (raw SIMD primitives) | |
| FASTLED_FORCE_INLINE SinCos32_simd | fl::sincos32_simd (simd::simd_u32x4 angles) FL_NO_EXCEPT |
| Process 4 angles simultaneously, returning vectorized sin/cos values SIMD-optimized: vectorized angle decomposition, vector LUT loads with 4x4 transpose (AoS→SoA), and vectorized quadratic interpolation. | |