Skip to main content
`Ctrl`+`K`

# numpy.testing.assert_approx_equal

testing.assert_approx_equal(actual, desired, significant=7, err_msg='', verbose=True)

  Raises an AssertionError if two items are not equal up to significant digits.

  Note

  It is recommended to use one of `assert_allclose`, `assert_array_almost_equal_nulp` or `assert_array_max_ulp` instead of this function for more consistent floating point comparisons.

  Given two numbers, check that they are approximately equal. Approximately equal is defined as the number of significant digits that agree.

  Parameters:
    actual scalar

      The object to check.

    desired scalar

      The expected object.

    significant int, optional

      Desired precision, default is 7.

    err_msg str, optional

      The error message to be printed in case of failure.

    verbose bool, optional

      If True, the conflicting values are appended to the error message.

  Raises:
    AssertionError

      If actual and desired are not equal up to specified precision.

  See also

  `assert_allclose`

    Compare two array_like objects for equality with desired relative and/or absolute precision.

  `assert_array_almost_equal_nulp`, `assert_array_max_ulp`, `assert_equal`

  Examples

      >>> np.testing.assert_approx_equal(0.12345677777777e-20, 0.1234567e-20)
      >>> np.testing.assert_approx_equal(0.12345670e-20, 0.12345671e-20,
      ...                                significant=8)
      >>> np.testing.assert_approx_equal(0.12345670e-20, 0.12345672e-20,
      ...                                significant=8)
      Traceback (most recent call last):
          ...
      AssertionError:
      Items are not equal to 8 significant digits:
       ACTUAL: 1.234567e-21
       DESIRED: 1.2345672e-21

  the evaluated condition that raises the exception is

      >>> abs(0.12345670e-20/1e-21 - 0.12345672e-20/1e-21) >= 10**-(8-1)
      True