Почему реализация сложных чисел Microsoft предпочитает строгие сравнения? - PullRequest
0 голосов
/ 03 апреля 2020

Я знаю, что числа с плавающей точкой лучше сравнивать в определенном интервале. Но почему в Microsoft реализация комплексных чисел использует строгие сравнения для оператора ==?

Исходный код:

public static bool operator ==(Complex left, Complex right) 
{
    return ((left.m_real == right.m_real) && (left.m_imaginary == right.m_imaginary));
}

Моя попытка:

public static bool operator ==(Complex left, Complex right) 
{
    return ((Math.Abs(left.m_real - right.m_real) < EPS) && 
            (Math.Abs(left.m_imaginary - right.m_imaginary) < EPS));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...