余弦查找表 (costab)
基于预计算查找表的三角函数模块,提供整数和浮点两种精度,使用 16 位定点角度表示,零浮点运算开销。
原理
将 0 到 2π 均匀采样为 65536 个角度单位(0x0000 到 0xFFFF),在 [0, π/2] 区间内预计算 1024 个余弦值作为查找表。其他象限通过对称性映射:
cos(x)— 直接查表sin(x)— 利用sin(x) = cos(x - π/2),将角度加上0xC000(即 3π/2,等价于 -π/2 mod 2π)后查表
角度值自动按 65536 取模循环,无需手动处理周期。
查找表
extern const int16_t icostab[1024]; /* 整数余弦表,范围 [-32767, 32767] */
extern const float fcostab[1024]; /* 浮点余弦表,范围 [-1.0, 1.0] */