numpy.testing.assert_array_almost_equal_nulp#
- testing.assert_array_almost_equal_nulp(x, y, nulp=1)[原始碼]#
比較兩個陣列的相對間距。
這是一種相對穩健的方法,用於比較振幅可變的兩個陣列。
- 參數:
- x, yarray_like
輸入陣列。
- nulpint, 選用
容差的最大單位數 (請參閱「注意事項」)。預設值為 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)