0

我在 Haxe 做 DSP。我的一些 DSP 包含递归算法,可能会生成非正规(也称为次正规)数。某些平台在遇到此类数字时表现不佳,无法进行实时处理(在某些情况下,甚至离线处理变得更加困难)。显然,只有产生非常小的数字(例如,通过递归乘法)的算法才会受到影响,但我正在使用这些算法。

处理该问题的一个非常常见的过程就是:

if r is a denormal
   r <- 0

当非规范化太小而对给定算法(几乎)总是有任何影响时,这可以正常工作。

我正在为许多平台构建,并希望在它们发生之前尽可能避免这些令人头疼的问题。所以问题是,我如何快速有效地识别/消除 Haxe 中的异常?

这可能会分解为其他问题,例如:Haxe 是否具有特定于语言的处理非规范化的方法,还是取决于平台?(我在文档中什么也没看到——甚至没有 isDenormal 函数)如果取决于平台,是否有标志或其他东西?我如何知道哪些平台需要特殊处理,哪些不需要?

非常感谢!

4

1 回答 1

1

Haxe 不支持这些操作。问题是它所解决的大多数本机平台也没有对此的任何支持。我在这里主要谈论 JavaScript、Flash、PHP 和 Neko。您当然可以构建自己的库,并尝试使用内联尽可能优化事物。

于 2012-07-06T18:47:05.677 回答