yt.testing.assert_array_almost_equal_nulp(x, y, nulp=1)[source]¶Compare two arrays relatively to their spacing.
This is a relatively robust method to compare two arrays whose amplitude is variable.
| Parameters: | x, y : array_like
nulp : int, optional
|
|---|---|
| Returns: | None : |
| Raises: | AssertionError :
|
See also
assert_array_max_ulpspacingNotes
An assertion is raised if the following condition is not met:
abs(x - y) <= nulps * spacing(maximum(abs(x), abs(y)))
Examples
>>> 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)