我有一系列使用 32 位浮点数作为主要样本数据类型的 c++ 信号处理类。例如,所有振荡器类都会为请求的每个样本返回浮点数。这对所有类都是一样的,所有样本的计算都是浮点数。
我正在将这些类移植到 iOS 上。对于性能问题,我想在 8.24 定点中操作以充分利用处理器,据说 iOS 上处理整数而不是浮点数有很大的性能优势。我m 目前以浮点数进行所有计算,然后在输出前的最后阶段转换为 SInt32,这意味着最后阶段的每个样本都需要转换。
我是否只需将类中使用的数据类型从 Float 更改为 SInt32。所以我的振荡器和滤波器等通过在内部传递 SInt32 而不是浮点数来计算定点?
真的这么简单吗?还是我必须完全重写所有不同的算法?
在执行此任务之前,我还需要了解其他巫术吗?
非常感谢任何有时间对此发表评论的人..非常感谢..