HaxeでDSPをやっています。私の DSP には、非正規数 (別名非正規数) を生成する可能性のある再帰アルゴリズムが含まれています。一部のプラットフォームでは、このような数値に遭遇するとパフォーマンスが低下し、リアルタイム処理が不可能になります (場合によっては、オフライン処理でさえも劇的に困難になります)。明らかに、非常に小さな数を生成するアルゴリズム (再帰乗算など) のみが影響を受けますが、私はこれらを使用しています。
この問題に対処するための非常に一般的な手順は、次のとおりです。
if r is a denormal
r <- 0
これは、デノーマルが小さすぎて特定のアルゴリズムに影響を与えない場合にうまく機能します。これは(ほとんど)常にです。
私は多くのプラットフォーム向けのビルドを検討しており、これらの問題が発生する前に可能な限り回避したいと考えています。問題は、Haxe でデノーマルを迅速かつ効率的に特定/排除するにはどうすればよいかということです。
これは、次のような別の質問に分解される可能性があります: Haxe には言語固有の非正規化方法があるのか、それともプラットフォーム次第なのか? (ドキュメントには何も表示されません- isDenormal 関数でさえありません)それがプラットフォーム次第である場合、フラグか何かがありますか?どのプラットフォームが特別な処理を必要とし、どのプラットフォームが必要でないかを知るにはどうすればよいですか?
どうもありがとう!