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 significant digits.
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 point comparisons.Given two numbers, check that they are approximately equal. Approximately equal is defined as the number of significant digits that 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