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