numpy.testing.assert_approx_equal#

тестирование.assert_approx_equal(фактический, желаемый, значимый=7, err_msg='', verbose=True)[источник]#

Вызывает AssertionError, если два элемента не равны с заданной точностью.

Примечание

Рекомендуется использовать один из assert_allclose, assert_array_almost_equal_nulp или assert_array_max_ulp вместо этой функции для более согласованных сравнений с плавающей точкой.

Даны два числа, проверьте, что они приблизительно равны. Приблизительно равны определяется как количество значащих цифр, которые совпадают.

Параметры:
фактическийскаляр

Объект для проверки.

желаемыйскаляр

Ожидаемый объект.

значимыйint, необязательный

Желаемая точность, по умолчанию 7.

err_msgstr, optional

Сообщение об ошибке для вывода в случае неудачи.

verbosebool, необязательно

Если True, конфликтующие значения добавляются к сообщению об ошибке.

Вызывает:
AssertionError

Если actual и desired не равны с заданной точностью.

Смотрите также

assert_allclose

Сравните два объекта array_like на равенство с желаемой относительной и/или абсолютной точностью.

assert_array_almost_equal_nulp, assert_array_max_ulp, assert_equal

Примеры

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

оцененное условие, которое вызывает исключение, это

>>> abs(0.12345670e-20/1e-21 - 0.12345672e-20/1e-21) >= 10**-(8-1)
True