使用查找表进行优化

lea*_*123 -1 c optimization lookup-tables

我为一个程序制作了一些c代码,它对声音数据做了一些心理声学.

有一段代码运行得非常慢.

我认为最好使用查找表.如何实施呢?

任何指针或帮助将不胜感激!:)

flo*_*olo 6

你的价值观不是等距的,所以并不容易.但它仍然可能:取你所有条件值的最大公约数(这就是50),然后制作你的表

byteout = lut [差异/ 50 + 12];

在查找表中,您可以在发布的订单中使用您的值,如果您的步进为100,则复制条目.

顺便说一下,有一个错误,你的所有负面案例都是你的第一个<=0(我的例子假设你想省略第一个案例).