numpy.testing.assert_array_almost_equal_nulp — NumPy v2.6.dev0 Manual

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_likeInput arrays.

nulpint, optionalThe maximum number of unit in the last place for tolerance (see Notes). Default is 1.

Returns:NoneRaises:AssertionErrorIf the spacing between x and y for one or more elements is larger than nulp.

See also

assert_array_max_ulp

Check that all items of arrays differ in at most N Units in the Last Place.

spacing

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)