Проверка равенства с плавающей запятой

Есть ли в Python функция для проверки приблизительного равенства с плавающей запятой? Что-то вроде

 def approx_equal(a, b, tol):
     return abs(a - b) < tol

Мой вариант использования аналогичен тому, как библиотека тестирования C ++ Google, gtest.h, определяет EXPECT_NEAR .

Вот пример:

def bernoulli_fraction_to_angle(fraction):
    return math.asin(sqrt(fraction))
def bernoulli_angle_to_fraction(angle):
    return math.sin(angle) ** 2
def test_bernoulli_conversions():
    assert(approx_equal(bernoulli_angle_to_fraction(pi / 4), 0.5, 1e-4))
    assert(approx_equal(
              bernoulli_fraction_to_angle(bernoulli_angle_to_fraction(0.1)),
                0.1, 1e-4))
36
задан martineau 8 October 2016 в 16:29
поделиться