You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The previous implementation used ((angle * TWIN_ANGLE_360) >> 15) which
caused integer overflow when angle values reached their maximum range of
[-9092, 9092]. The multiplication 9092 * 4096 results in 37,240,832,
exceeding the 16-bit signed integer limit.
This commit simplifies the expression by factoring out the constants:
- Original: angle * TWIN_ANGLE_360 / 32768
- Since TWIN_ANGLE_360 = 2^12 and 32768 = 2^15
- Simplified: angle * 2^12 / 2^15 = angle >> 3
0 commit comments