numpy.testing.assert_array_almost_equal_nulp — NumPy v2.2 Manual (original) (raw)
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, yarray_like
Input arrays.
nulpint, optional
The maximum number of unit in the last place for tolerance (see Notes). Default is 1.
Returns:
None
Raises:
AssertionError
If the spacing between x and y for one or more elements is larger than nulp.
See also
Check that all items of arrays differ in at most N Units in the Last Place.
Return the distance between x and the nearest adjacent number.
Notes
An assertion is raised if the following condition is not met:
abs(x - y) <= nulp * 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: Arrays are not equal to 1 ULP (max is 2)