現在、doubleのベクトルを正規化する必要があるコードがいくつかあります(各要素を合計で除算します)。デバッグ時に、ベクトル内の要素がすべて0.0であることが時々あります。次に要素の合計をとると、0.0または4.322644347104e-314#DENのいずれかが得られます(最近、非正規化数であることがわかりました)。合計が0.0または非正規化数の場合のベクトルの正規化を防ぎたいと思います。これらの2つのケースを処理することを考える唯一の方法は、合計が「イプシロン」よりも小さいかどうかを確認することです。ここで、イプシロンは少数です(ただし、イプシロンを作成するのにどれだけ小さいかはわかりません)。
2つの質問があります:
- これらのケースを考慮に入れるための最良の方法は何ですか?
- 非正規化数のマシンの値は依存していますか?