【发布时间】:2012-07-07 02:47:05
【问题描述】:
我在 Haxe 做 DSP。我的一些 DSP 包含递归算法,可能会生成非正规(也称为次正规)数。某些平台在遇到此类数字时表现不佳,无法进行实时处理(在某些情况下,甚至离线处理变得更加困难)。显然,只有产生非常小的数字的算法(例如,通过递归乘法)才会受到影响,但我正在使用这些算法。
处理该问题的一个非常常见的过程就是这样:
if r is a denormal
r <- 0
当非正规数太小而无法对给定算法产生任何影响时,这很有效,这(几乎)总是如此。
我正在寻找为多个平台构建的产品,并希望尽可能避免这些令人头疼的问题。所以问题是,如何快速有效地识别/消除 Haxe 中的非规范化?
这可能会分解为其他问题,例如:Haxe 是否有特定于语言的方法来处理非规范化,还是取决于平台? (我在文档中什么也没看到——甚至没有 isDenormal 函数)如果取决于平台,是否有标志或其他东西?我如何知道哪些平台需要特殊处理,哪些不需要?
非常感谢!
【问题讨论】:
标签: signal-processing multimedia haxe