# numpy.testing.assert_array_almost_equal_nulp

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, y array_like

      Input arrays.

    nulp int, 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

  `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: X and Y are not equal to 1 ULP (max is 2)