numpy.testing.assert_approx_equal
-
numpy.testing.assert_approx_equal(actual, desired, significant=7, err_msg='', verbose=True)[source] -
Вызывает AssertionError, если два элемента не равны с заданной точностью.
Примечание
Рекомендуется использовать одну из функций
assert_allclose,assert_array_almost_equal_nulpилиassert_array_max_ulpдля более согласованного сравнения чисел с плавающей точкой.Проверяет, что два числа приблизительно равны. Приблизительное равенство определяется по количеству совпадающих значащих цифр.
Параметры: -
actual : scalar -
Проверяемый объект.
-
desired : scalar -
Ожидаемый объект.
-
significant : int, optional -
Требуемая точность, по умолчанию 7.
-
err_msg : str, optional -
Сообщение об ошибке, которое будет выведено в случае ошибки.
-
verbose : bool, optional -
Если True, противоречащие значения добавляются в сообщение об ошибке.
Возможные исключения: - AssertionError
-
Если фактическое и ожидаемое значения не равны с заданной точностью.
См. также
-
assert_allclose - Сравнивает два массива для равенства с заданной относительной и/или абсолютной точностью.
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
-
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/generated/numpy.testing.assert_approx_equal.html