Функция для определения, равны ли два числа при округлении до n значащих десятичных цифр.

В numpy.testing (исходный код here) ) есть функция pythonic assert_approx_equal, которая может быть хорошей py отправной точкой.

def assert_approx_equal(actual,desired,significant=7,err_msg='',verbose=True):
    """
    Raise an assertion if two items are not equal up to significant digits.

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

    Given two numbers, check that they are approximately equal.
    Approximately equal is defined as the number of significant digits
    that agree.

python

math

floating-point

numpy

2022-11-12T22:19:07+00:00
Вопросы с похожей тематикой, как у вопроса:

Функция для определения, равны ли два числа при округлении до n значащих десятичных цифр.