Fast 8-bit approximation of sin(x).
This approximation never varies more than 2% from the floating point value you'd get by doing
float s = (sin(
x) * 128.0) + 128;
- Parameters
-
theta | input angle from 0-255 |
- Returns
- sin of theta, value between 0 and 255
Definition at line 231 of file trig8.h.
231 {
233 if (theta & 0x40) {
235 }
237
238 uint8_t secoffset =
offset & 0x0F;
239 if (theta & 0x40)
240 ++secoffset;
241
242 uint8_t section =
offset >> 4;
243 uint8_t s2 = section * 2;
249
250 uint8_t mx = (m16 * secoffset) >> 4;
251
253 if (theta & 0x80)
255
257
259}
UISlider offset("Offset", 0.0f, 0.0f, 1.0f, 0.01f)
const uint8_t b_m16_interleave[]
Pre-calculated lookup table used in sin8() and cos8() functions.
static FASTLED_NAMESPACE_BEGIN uint8_t const p[]
References b_m16_interleave, LIB8STATIC, offset(), p, and y.