Rev 2045 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2045 | Rev 2047 | ||
---|---|---|---|
Line 12... | Line 12... | ||
12 | * a * sin(b) = (a * int_sin(b * DRG_FACTOR)) / UNIT_FACTOR |
12 | * a * sin(b) = (a * int_sin(b * DRG_FACTOR)) / UNIT_FACTOR |
13 | */ |
13 | */ |
14 | //#define MATH_UNIT_FACTOR 8192 |
14 | //#define MATH_UNIT_FACTOR 8192 |
15 | // Changed: We want to be able to multiply 2 sines/cosines and still stay comfortably (factor 100) within 31 bits. |
15 | // Changed: We want to be able to multiply 2 sines/cosines and still stay comfortably (factor 100) within 31 bits. |
16 | // 4096 = 12 bits, square = 24 bits, 7 bits to spare. |
16 | // 4096 = 12 bits, square = 24 bits, 7 bits to spare. |
17 | #define MATH_UNIT_FACTOR_LOG 12 |
17 | #define LOG_MATH_UNIT_FACTOR 12 |
18 | #define MATH_UNIT_FACTOR (1L<<MATH_UNIT_FACTOR_LOG) |
18 | #define MATH_UNIT_FACTOR (1L<<LOG_MATH_UNIT_FACTOR) |
Line 19... | Line 19... | ||
19 | 19 | ||
20 | int16_t sin_360(int16_t arg); |
20 | int16_t sin_360(int16_t arg); |
21 | int16_t cos_360(int16_t arg); |
21 | int16_t cos_360(int16_t arg); |