numpy.testing.assert_array_almost_equal_nulp¶
-
numpy.testing.
assert_array_almost_equal_nulp
(x, y, nulp=1)[source]¶ 比较两个数组与它们的间距。
这是一个相对稳健的方法来比较幅度可变的两个数组。
参数: x,y:array_like
输入数组。
nulp:int,可选
最后一个容差的最大单位数(见注释)。默认值为1。
返回: 没有
上升: AssertionError
如果一个或多个元素的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)