gpt4 book ai didi

haskell - 快速检查非 bool 测试

转载 作者:行者123 更新时间:2023-12-02 17:01:51 24 4
gpt4 key购买 nike

我正在使用 QuickCheck 来测试我的代码的一些数值计算。基本上我有一个精确的函数和它的几个近似值,效率更高。

我目前正在实现我想要测试的属性,例如:

prop_blah input = (abs $ (exact input)-(approx input)) < threshold

但是如果能够准确地了解每种近似算法的准确度并将它们相互进行比较,那就太好了。一种简单的方法是获取不等式左侧的平均值和标准差的报告。这有可能吗?

最佳答案

如果您只需要打印出来,您应该选中在单次测试后执行的 QuickCheck Callbacks。它们的定义位于 Test.QuickCheck.P​​roperty

否则,您可以使用位于 Test.QuickCheck.P​​roperty 中的函数 collect::(Show a, Testable prop) => a -> prop -> Property

let a = (abs $ (exact input)-(approx input))
in collect a (a < threshold)

通过这种方式,您至少可以得到近似值的字符串表示形式,并且还可以了解有多少单个测试给出相同的近似值。

您甚至可以摆脱近似质量,只需通过执行以下操作列出因素即可:

prop = collect (abs $ (exact input)-(approx input)) True

关于haskell - 快速检查非 bool 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11942554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com