numpy.testing.assert_almost_equal(actual, desired, decimal=7, err_msg='', verbose=True)
[source]
Raises an AssertionError if two items are not equal up to desired precision.
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.
The test verifies that the elements of actual
and desired
satisfy.
abs(desired-actual) < 1.5 * 10**(-decimal)
That is a looser test than originally documented, but agrees with what the actual implementation in assert_array_almost_equal
did up to rounding vagaries. An exception is raised at conflicting values. For ndarrays this delegates to assert_array_almost_equal
Parameters: |
actual : array_like The object to check. desired : array_like The expected object. decimal : 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
assert_array_almost_equal_nulp
, assert_array_max_ulp
, assert_equal
>>> import numpy.testing as npt >>> npt.assert_almost_equal(2.3333333333333, 2.33333334) >>> npt.assert_almost_equal(2.3333333333333, 2.33333334, decimal=10) ... <type 'exceptions.AssertionError'>: Items are not equal: ACTUAL: 2.3333333333333002 DESIRED: 2.3333333399999998
>>> npt.assert_almost_equal(np.array([1.0,2.3333333333333]), ... np.array([1.0,2.33333334]), decimal=9) ... <type 'exceptions.AssertionError'>: Arrays are not almost equal (mismatch 50.0%) x: array([ 1. , 2.33333333]) y: array([ 1. , 2.33333334])
© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.14.2/reference/generated/numpy.testing.assert_almost_equal.html