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 of
assert_allclose,assert_array_almost_equal_nulporassert_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_allcloseCompare 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