我在哈克斯市做DSP。我的一些DSP包含一些递归算法,这些算法可能会生成非正态(也称为次正态)数字。当遇到这样的数字时,一些平台的性能很差,使得实时处理变得不可能(在某些情况下,甚至更难脱机处理)。显然,只有产生非常小数字的算法(例如,通过递归乘法)才会受到影响,但我正在使用这些算法。
处理这个问题的一个非常常见的过程很简单:
if r is a denormal
r <- 0当去规格化太小而不会对给定的算法产生任何影响时,这是很好的,这(几乎总是)。
我正在寻找一些平台的构建,并希望在它们发生之前尽可能避免这些令人头疼的问题。所以问题是,我如何快速有效地识别/消除Haxe中的非正规化?
这可能会分解成其他问题,比如: Haxe是否有特定于语言的方法来处理非范式,或者它取决于平台?(我在文档中什么也看不到--甚至连isDenormal函数都看不到)如果这取决于平台,是否有标志之类的?如何知道哪些平台需要特殊处理,哪些不需要特殊处理?
非常感谢!
发布于 2012-07-07 02:47:06
Haxe不支持这些操作。问题是它所针对的大多数原生平台也不支持这一点。我在这里主要讨论的是JavaScript,Flash,PHP和Neko。您当然可以构建自己的库,并尝试在可能的情况下使用内联进行优化。
https://stackoverflow.com/questions/11365848
复制相似问题