1

所以,我最近开始使用科学包,因为它提供了Data.Scientific我在其他任何地方都没有见过的任意精度数字。我遇到的一个问题是在/使用 QuickCheck 对我的代码进行属性测试时,除法的分歧(文档中确实警告过这一点)。我正在使用Arbitrary来自quickcheck-instances 的实例

我在科学计算方面没有非常正式的(阅读:无)经验,所以我想知道是否有处理这种情况的最佳实践。Nothing是否有一些体面的算法来执行此操作,可能会损失少量精度,或者在结果定义不明确时提前检测到并返回或等效的方法。

或者,(不是很理想)我可以从我的 QuickCheck 测试中排除具有无限小数扩展的数字,这样它们就不会永远挂起吗?这显然有缺点,它只处理症状,如果代码的用户传入“坏”数据,仍然可能导致分歧。

任何建议将不胜感激 :)

4

0 回答 0