testing.assert_array_almost_equal_nulp(x, y, nulp=1)
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
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)