C# で CAD のようなアプリケーションを作成しています。私はSlimDX
グラフィックス エンジンとして使用しており、数値計算の部分では、最終的に System.Math クラスに当然依存するカスタム ライブラリを構築しています。
ここで問題なのは、SlimDX
ライブラリが float データ型で構成される構造体を使用しているのに対し、Math クラスには double オブジェクトのみを受け入れて返すメソッドがいくつか含まれていることです。たとえば、Math.Ceiling や Math.Sin です。そのため、データを常に float から double にキャストしていることに気づきます。
これは正しくないようです。キャストがパフォーマンスに与える影響についてはあまり関心がありません (そうすべきではないでしょうか?) が、それらが原因で発生する可能性のある数値の不安定性については、はるかに恐ろしいことです。
ですから、あなたがこのような状況にどのように対処しているのかを知りたかったのです。これは珍しいシナリオではないと思うからです。