numpy.testing.assert_approx_equal
numpy.testing.assert_approx_equal(actual, desired, significant=7, err_msg='', verbose=True) [source]
如果两个项目的有效位数不相等,则引发AssertionError。
注意
为了更一致的浮点比较,建议使用assert_allclose
,assert_array_almost_equal_nulp
或assert_array_max_ulp
之一来代替此函数。
给定两个数字,请检查它们是否近似相等。近似等于定义为有效数字位数。
参数 : | actual :scalar 要检查的对象。 desired :scalar 预期的对象。 significant : 所需精度,默认为 err_msg : 发生故障时要打印的错误消息。 verbose : 如果为 |
Raises : | AssertionError 如果实际和期望值不等于指定的精度。 |
例子
>>> np.testing.assert_approx_equal(0.12345677777777e-20, 0.1234567e-20)
>>> np.testing.assert_approx_equal(0.12345670e-20, 0.12345671e-20,
... significant=8)
>>> np.testing.assert_approx_equal(0.12345670e-20, 0.12345672e-20,
... significant=8)
Traceback (most recent call last):
...
AssertionError:\nItems are not equal to 8 significant digits:
ACTUAL: 1.234567e-21
DESIRED: 1.2345672e-21
引发异常的运行条件
>>> abs(0.12345670e-20/1e-21 - 0.12345672e-20/1e-21) >= 10**-(8-1)
True