#pragma once #include /* Library for doing fast math functions using just uint8_t. */ extern uint8_t sintable[256]; /* Returns ((sin(n) + 1) / 2) * 255 */ static inline uint8_t byte_sin(uint8_t n) { return sintable[n]; } uint8_t calc_w(uint8_t n); static inline uint8_t byte_scale(uint8_t v, uint8_t scale) { uint16_t acc = v; return (acc * scale) >> 8; } static inline uint8_t clip(int x) { if (x > 240) { return 240; } if (x < 0) { return 0; } return (uint8_t)x; } #define AS_BYTE(n) ((n) * 256)