numpy.testing.assert_approx_equal

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

Raise an assertion if two items are not equal up to significant digits.

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

Parameters :

actual : number

The object to check.

desired : number

The expected object.

significant : integer (significant=7)

desired precision

err_msg : string

The error message to be printed in case of failure.

verbose : bool

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_almost_equal
compares objects by decimals
assert_array_almost_equal
compares array_like objects by decimals
assert_equal
tests objects for equality

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)
...
<type 'exceptions.AssertionError'>:
Items are not equal to 8 significant digits:
 ACTUAL: 1.234567e-021
 DESIRED: 1.2345672000000001e-021

the evaluated condition that raises the exception is

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

Previous topic

numpy.testing.assert_almost_equal

Next topic

numpy.testing.assert_array_almost_equal

This Page