35 for (
size_t i = 0; i < count; i++) {
49 for (
size_t i = 0; i < count; i++) {
63 for (
size_t i = 0; i < count; i++) {
81 size_t align2 = (((dst_addr | src_addr | num_bytes) & 1) == 0);
82 size_t align4 = (((dst_addr | src_addr | num_bytes) & 3) == 0);
84 int index = align2 + align4;
89 static_cast<const u32*
>(src),
94 static_cast<const u16*
>(src),
100 static_cast<const u8*
>(src),
111 for (
size_t i = 0; i < count; i++) {
123 size_t count32 = count / 4;
124 size_t remainder = count % 4;
126 for (
size_t i = 0; i < count32; i++) {
131 u8* remainder_ptr = dest + (count32 * 4);
144 if ((address % 4 == 0) && (count >= 4)) {
FL_OPTIMIZE_FUNCTION FL_IRAM FASTLED_FORCE_INLINE void memcpy_16(u16 *FL_RESTRICT_PARAM dst, const u16 *FL_RESTRICT_PARAM src, size_t count)
ISR-optimized 16-bit block copy for 2-byte aligned memory.
FL_OPTIMIZE_FUNCTION FL_IRAM FASTLED_FORCE_INLINE void memset_zero_word(u8 *dest, size_t count)
ISR-safe word-aligned memset (4-byte writes)
FASTLED_FORCE_INLINE bool is_aligned(const void *ptr, size_t alignment)
Check if a pointer is aligned to a specific byte boundary.
FL_OPTIMIZE_FUNCTION FL_IRAM FASTLED_FORCE_INLINE void memcpy_byte(u8 *FL_RESTRICT_PARAM dst, const u8 *FL_RESTRICT_PARAM src, size_t count)
ISR-optimized byte copy.
FL_OPTIMIZE_FUNCTION FL_IRAM FASTLED_FORCE_INLINE void memset_zero_byte(u8 *dest, size_t count)
ISR-safe memset replacement (byte-by-byte zero)
FL_OPTIMIZE_FUNCTION FL_IRAM FASTLED_FORCE_INLINE void memcpy(void *FL_RESTRICT_PARAM dst, const void *FL_RESTRICT_PARAM src, size_t num_bytes)
ISR-optimized memcpy with alignment detection and switch dispatch.
FL_OPTIMIZE_FUNCTION FL_IRAM FASTLED_FORCE_INLINE void memcpy_32(u32 *FL_RESTRICT_PARAM dst, const u32 *FL_RESTRICT_PARAM src, size_t count)
ISR-optimized 32-bit block copy for 4-byte aligned memory.
FL_OPTIMIZE_FUNCTION FL_IRAM FASTLED_FORCE_INLINE void memset_zero(u8 *dest, size_t count)
ISR-safe memset with alignment optimization.
uptr ptr_to_int(T *ptr) FL_NOEXCEPT
To bit_cast(const From &from) FL_NOEXCEPT
Base definition for an LED controller.
#define FL_OPTIMIZATION_LEVEL_O3_BEGIN
#define FASTLED_FORCE_INLINE
#define FL_OPTIMIZATION_LEVEL_O3_END
#define FL_OPTIMIZE_FUNCTION
#define FL_RESTRICT_PARAM