numpy.testing.assert_array_almost_equal_nulp#
- testing.assert_array_almost_equal_nulp(x, y, nulp=1)[源代码]#
比较两个数组,相对其间距.
这是一种比较稳健的方法,用于比较两个幅度可变的数组.
- 参数:
- x, yarray_like
输入数组.
- nulp整数,可选
用于容差的末位单位的最大数量(参见注释).默认为 1.
- 返回:
- None
- 提出:
- AssertionError
如果一个或多个元素的 x 和 y 之间的间距大于 nulp .
参见
assert_array_max_ulp检查数组的所有项最多相差 N 个末位单位.
spacing返回 x 与最接近的相邻数字之间的距离.
注释
如果不满足以下条件,则会引发断言:
abs(x - y) <= nulp * 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: Arrays are not equal to 1 ULP (max is 2)