numpy.testing.assert_almost_equal

numpy.testing.assert_almost_equal(actual, desired, decimal=7, err_msg='', verbose=True)

Raise an assertion if two items are not equal up to desired precision.

The test is equivalent to abs(desired-actual) < 0.5 * 10**(-decimal)

Given two objects (numbers or ndarrays), check that all elements of these objects are almost equal. An exception is raised at conflicting values. For ndarrays this delegates to assert_array_almost_equal

Parameters :

actual : number or ndarray

The object to check.

desired : number or ndarray

The expected object.

decimal : integer (decimal=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_array_almost_equal
compares array_like objects
assert_equal
tests objects for equality

Examples

>>> 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
<BLANKLINE>
(mismatch 50.0%)
 x: array([ 1.        ,  2.33333333])
 y: array([ 1.        ,  2.33333334])

Previous topic

numpy.testing.rundocs

Next topic

numpy.testing.assert_approx_equal

This Page