testing.
assert_array_almost_equal_nulp
比较两个数组的间距。
这是一种比较两个振幅可变的阵列的相对稳健的方法。
输入数组。
最后一个公差位置的最大单位数(见注释)。默认值为1。
如果 x 和 y 因为一个或多个元素大于 nulp .
参见
assert_array_max_ulp
检查数组中的所有项在最后一个位置上最多有n个单位不同。
spacing
返回x和最近相邻数字之间的距离。
笔记
如果不满足以下条件,将引发断言:
abs(x - y) <= nulps * spacing(maximum(abs(x), abs(y)))
实例
>>> x = np.array([1., 1e-10, 1e-20]) >>> eps = np.finfo(x.dtype).eps >>> np.testing.assert_array_almost_equal_nulp(x, x*eps/2 + x)
>>> np.testing.assert_array_almost_equal_nulp(x, x*eps + x) Traceback (most recent call last): ... AssertionError: X and Y are not equal to 1 ULP (max is 2)