numpy.testing.assert_array_almost_equal_nulp#

testing.assert_array_almost_equal_nulp(x, y, nulp=1)[原始碼]#

比較兩個陣列的相對間距。

這是一種相對穩健的方法,用於比較振幅可變的兩個陣列。

參數:
x, yarray_like

輸入陣列。

nulpint, 選用

容差的最大單位數 (請參閱「注意事項」)。預設值為 1。

傳回值:
None
引發:
AssertionError

如果一個或多個元素的 xy 之間的間距大於 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)