我正在用 C# 构建一个类似 CAD 的应用程序。我将SlimDX
其用作图形引擎,对于数字运算部分,我构建了自定义库,这些库自然而然地最终依赖于 System.Math 类。
现在,问题是SlimDX
库使用由浮点数据类型组成的结构,而 Math 类包含几个只接受和返回双精度对象的方法,例如:Math.Ceiling 和 Math.Sin。所以我发现自己不断地来回转换我的数据,从浮动到加倍。
这似乎不对。我并不关心演员阵容可能对性能造成的影响(也许我应该如此?),但担心他们可能导致的数值不稳定性,这更可怕。
所以我只是想知道您通常如何处理这些情况,因为我猜这一定不是罕见的情况。