FastLED 3.9.7
Loading...
Searching...
No Matches
Fast Math Functions

Detailed Description

Fast, efficient 8-bit math functions specifically designed for high-performance LED programming.

Because of the AVR (Arduino) and ARM assembly language implementations provided, using these functions often results in smaller and faster code than the equivalent program using plain "C" arithmetic and logic.

Included are:

Lib8tion is pronounced like 'libation': lie-BAY-shun

Topics

 Basic Math Operations
 Fast, efficient 8-bit math functions specifically designed for high-performance LED programming.
 
 Dimming and Brightening Functions
 Functions to dim or brighten data.
 
 Easing Functions
 Specify the rate of change of a parameter over time.
 
 Fast Memory Functions for AVR
 Alternatives to memmove, memcpy, and memset that are faster on AVR than standard avr-libc 1.8.
 
 Fast Random Number Generators
 Fast 8-bit and 16-bit unsigned random number generators.
 
 Fast Trigonometry Functions
 Fast 8-bit and 16-bit approximations of sin(x) and cos(x).
 
 Fixed-Point Fractional Types.
 Types for storing fractional data.
 
 Float-to-Fixed and Fixed-to-Float Conversions
 Functions to convert between floating point and fixed point types.
 
 Integer Mapping Functions
 Maps a scalar from one integer size to another.
 
 Linear Interpolation
 Fast linear interpolation functions, such as could be used for Perlin noise, etc.
 
 Scaling Functions
 Fast, efficient 8-bit scaling functions specifically designed for high-performance LED programming.
 
 Waveform Beat Generators
 Waveform generators that reset at a given number of "beats per minute" (BPM).
 
 Waveform Generators
 General purpose wave generator functions.
 

Macros

#define LIB8STATIC   __attribute__ ((unused)) static inline
 Define a LIB8TION member function as static inline with an "unused" attribute.
 
#define LIB8STATIC_ALWAYS_INLINE   __attribute__ ((always_inline)) static inline
 Define a LIB8TION member function as always static inline.
 

Macro Definition Documentation

◆ LIB8STATIC

#define LIB8STATIC   __attribute__ ((unused)) static inline

Define a LIB8TION member function as static inline with an "unused" attribute.

Definition at line 10 of file lib8static.h.

◆ LIB8STATIC_ALWAYS_INLINE

#define LIB8STATIC_ALWAYS_INLINE   __attribute__ ((always_inline)) static inline

Define a LIB8TION member function as always static inline.

Definition at line 12 of file lib8static.h.