numpy.testing.assert_approx_equal#

testing.assert_approx_equal(actual,desired,significant=7,err_msg='',verbose=True)[source]#

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

Note

It is recommended to use one ofassert_allclose,assert_array_almost_equal_nulp orassert_array_max_ulpinstead of this function for more consistent floating pointcomparisons.

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

Parameters:
actualscalar

The object to check.

desiredscalar

The expected object.

significantint, optional

Desired precision, default is 7.

err_msgstr, optional

The error message to be printed in case of failure.

verbosebool, 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