Поделиться через


isgreater, isgreaterequal, isless, islessequal, islessgreater, isunordered

Определяет связь упорядочения между двумя значениями с плавающей запятой.

Синтаксис

int isgreater(
   /* floating-point */ x,
   /* floating-point */ y
); /* C-only macro */

int isgreaterequal(
   /* floating-point */ x,
   /* floating-point */ y
); /* C-only macro */

int isless(
   /* floating-point */ x,
   /* floating-point */ y
); /* C-only macro */

int islessequal(
   /* floating-point */ x,
   /* floating-point */ y
); /* C-only macro */

int islessgreater(
   /* floating-point */ x,
   /* floating-point */ y
); /* C-only macro */

int isunordered(
   /* floating-point */ x,
   /* floating-point */ y
); /* C-only macro */
template <class FloatingType1, class FloatingType2>
inline bool isgreater(
   FloatingType1 x,
   FloatingType2 y
) throw(); /* C++-only template function */

template <class FloatingType1, class FloatingType2>
inline bool isgreaterequal(
   FloatingType1 x,
   FloatingType2 y
) throw(); /* C++-only template function */

template <class FloatingType1, class FloatingType2>
inline bool isless(
   FloatingType1 x,
   FloatingType2 y
) throw(); /* C++-only template function */

template <class FloatingType1, class FloatingType2>
inline bool islessequal(
   FloatingType1 x,
   FloatingType2 y
) throw(); /* C++-only template function */

template <class FloatingType1, class FloatingType2>
inline bool islessgreater(
   FloatingType1 x,
   FloatingType2 y
) throw(); /* C++-only template function */

template <class FloatingType1, class FloatingType2>
inline bool isunordered(
   FloatingType1 x,
   FloatingType2 y
) throw(); /* C++-only template function */

Параметры

x, y
Сравниваемые значения с плавающей запятой.

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

Во всех сравнениях определенность одного знака сравнивается как равное. Отрицательное бесконечность меньше, чем любое конечное значение или положительное бесконечность. Положительное бесконечность больше, чем любое конечное значение или отрицательное бесконечность. Нули равны независимо от знака. NaN не меньше, равно или больше, чем любое значение, включая другое naN.

Если ни один из аргументов не является naN, макросы isgreaterупорядочивания , islessisgreaterequalи islessequal возвращает ненулевое значение, если указанное отношение упорядочения между x и y имеет значение true. Эти макросы возвращают значение 0, если оба аргумента являются naNs или если отношение упорядочивания равно false. Формы функций ведут себя так же, но возвращают true или false.

Макрос islessgreater возвращает ненулевое значение, если x оба и y не являются naNs, а x также меньше или больше y. Он возвращает значение 0, если оба аргумента являются naN, или если значения равны. Форма функции ведет себя так же, как возвращает или возвращаетtrue.false

Макрос isunordered возвращает ненулевое значение, если xyодно или то или и другое — naNs. В противном случае возвращается значение 0. Форма функции ведет себя так же, как возвращает или возвращаетtrue.false

Замечания

Эти операции сравнения реализуются как макросы при компиляции как C и как встроенные функции шаблона при компиляции как C++.

Требования

Функция Обязательный заголовок (C) Обязательный заголовок (C++)
isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered
<math.h> <math.h> или <cmath>

Дополнительные сведения о совместимости см. в разделе Совместимость.

См. также

Поддержка математических и плавающих точек
isfinite, _finite, _finitef
isinf
isnan, _isnan, _isnanf
_fpclass, _fpclassf