MathCompareByDigits

Сравнивает два числа на совпадение с точностью значащих цифр.

bool  MathCompareByDigits(
   const double   value1,        // первое число
   const double   value2,        // второе число
   const int      digits         // количество значащих цифр
   );
 
bool  MathCompareByDigits(
   const float    value1,        // первое число
   const float    value2,        // второе число
   const int      digits         // количество значащих цифр
   );
 
bool  MathCompareByDigits(
   const complex  value1,        // первое число
   const complex  value2,        // второе число
   const int      digits         // количество значащих цифр
   );
 
bool  MathCompareByDigits(
   const complexf value1,        // первое число
   const complexf value2,        // второе число
   const int      digits         // количество значащих цифр
   );

Параметры

value1

[in]  Первое число для сравнения.

value2

[in]  Второе число для сравнения.

digits

[in]  Количество значащих цифр для сравнения.

Возвращаемое значение

Возвращает true в случае совпадения digits значащих цифр у сравниваемых чисел. В противном случае возвращает false.

Примечание

Функция полезна, если заранее неизвестен порядок сравниваемых чисел, а также для комплексных чисел, порядки реальной и мнимой частей которых могут сильно различаться. В остальных случаях лучше использовать сравнение на epsilon.

Если одно из значений равно 0, сравнение не производится. В этом случае нужно использовать сравнение на epsilon. Для комплексных чисел попарно сравниваются реальные и мнимые части.