FastLED 3.9.15
Loading...
Searching...
No Matches
types.h
Go to the documentation of this file.
1
3
4#pragma once
5
6#include "platforms/simd.h"
7
8// This file lives in fl::simd (NOT fl::math::simd) to avoid ambiguity with
9// the platform fl::simd::platforms namespace when inline namespace math is active.
10namespace fl {
11namespace simd {
12
13//==============================================================================
14// SIMD Register Types (from platform implementation)
15//==============================================================================
16
17// Platform implementations define these in fl::simd::platform namespace:
18// - simd_u8x16: 16-element uint8_t vector (128 bits)
19// - simd_u16x8: 8-element uint16_t vector (128 bits)
20// - simd_u32x4: 4-element uint32_t vector (128 bits)
21// - simd_f32x4: 4-element float32 vector (128 bits)
22
23// Expose platform types in public fl::simd namespace
24using simd_u8x16 = platforms::simd_u8x16;
25using simd_u16x8 = platforms::simd_u16x8;
26using simd_u32x4 = platforms::simd_u32x4;
27using simd_f32x4 = platforms::simd_f32x4;
28
29// 256-bit types (native on AVX2, pair-of-128-bit elsewhere)
30using simd_u8x32 = platforms::simd_u8x32;
31using simd_u16x16 = platforms::simd_u16x16;
32
33} // namespace simd
34} // namespace fl
platforms::simd_u32x4 simd_u32x4
Definition types.h:26
platforms::simd_u8x16 simd_u8x16
Definition types.h:24
platforms::simd_u16x8 simd_u16x8
Definition types.h:25
platforms::simd_f32x4 simd_f32x4
Definition types.h:27
platforms::simd_u16x16 simd_u16x16
Definition types.h:31
platforms::simd_u8x32 simd_u8x32
Definition types.h:30
Base definition for an LED controller.
Definition crgb.hpp:179