FastLED 3.9.15
Loading...
Searching...
No Matches
Fast Trigonometry Functions

Detailed Description

Fast 8-bit and 16-bit approximations of sin(x) and cos(x).

Don't use these approximations for calculating the trajectory of a rocket to Mars, but they're great for art projects and LED displays.

On Arduino/AVR, the 16-bit approximation is more than 10X faster than floating point sin(x) and cos(x), while the 8-bit approximation is more than 20X faster.

+ Collaboration diagram for Fast Trigonometry Functions:
const uint8_t b_m16_interleave [] = {0, 49, 49, 41, 90, 27, 117, 10}
 Pre-calculated lookup table used in sin8() and cos8() functions.
 
LIB8STATIC int16_t sin16_C (uint16_t theta)
 Fast 16-bit approximation of sin(x).
 
LIB8STATIC int16_t cos16 (uint16_t theta)
 Fast 16-bit approximation of cos(x).
 
LIB8STATIC uint8_t sin8_C (uint8_t theta)
 Fast 8-bit approximation of sin(x).
 
LIB8STATIC uint8_t cos8 (uint8_t theta)
 Fast 8-bit approximation of cos(x).
 
#define sin16   sin16_C
 Platform-independent alias of the fast sin implementation.
 
#define sin8   sin8_C
 Platform-independent alias of the fast sin implementation.