numpy.testing.assert_array_almost_equal_nulp#
- testing.assert_array_almost_equal_nulp(x, y, nulp=1)[source]#
比较两个数组相对于它们的空间。
这是一种比较振幅可变的两个数组的比较稳健的方法。
- 参数:
- x, y类数组
输入数组。
- nulpint,可选
容差的最后一位的最大单位数(参见注释)。默认值为 1。
- 返回值:
- 无
- 引发:
- 断言错误
如果 x 和 y 之间的一个或多个元素的间距大于 nulp。
另请参见
assert_array_max_ulp
检查数组的所有项最多在最后一位的 N 个单位内有所不同。
间距
返回 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)