islessgreater
Определён в заголовочном файле <math.h> | ||
|---|---|---|
#define islessgreater(x, y) /* implementation defined */ | (начиная с C99) |
Определяет, меньше или больше ли число с плавающей точкой x числа с плавающей точкой y, не вызывая исключений с плавающей точкой.
Параметры
| x | - | значение с плавающей точкой |
| y | - | значение с плавающей точкой |
Возвращаемое значение
Ненулевое целочисленное значение, если x < y || x > y, иначе 0.
Примечания
Встроенные operator< и operator> для чисел с плавающей точкой могут вызвать FE_INVALID, если один или оба аргумента являются NaN. Эта функция представляет собой «тихую» версию выражения x < y || x > y. Макрос не вычисляет x и y дважды.
Пример
#include <math.h>
#include <stdio.h>
int main(void)
{
printf("islessgreater(2.0,1.0) = %d\n", islessgreater(2.0, 1.0));
printf("islessgreater(1.0,2.0) = %d\n", islessgreater(1.0, 2.0));
printf("islessgreater(1.0,1.0) = %d\n", islessgreater(1.0, 1.0));
printf("islessgreater(INFINITY,1.0) = %d\n", islessgreater(INFINITY, 1.0));
printf("islessgreater(1.0,NAN) = %d\n", islessgreater(1.0, NAN));
return 0;
}
Возможный вывод:
islessgreater(2.0,1.0) = 1 islessgreater(1.0,2.0) = 1 islessgreater(1.0,1.0) = 0 islessgreater(INFINITY,1.0) = 1 islessgreater(1.0,NAN) = 0
Ссылки
- Стандарт C23 (ISO/IEC 9899:2024):
- 7.12.14.5 Макрос islessgreater (стр.: TBD)
- F.10.11 Макросы сравнения (стр.: TBD)
- Стандарт C17 (ISO/IEC 9899:2018):
- 7.12.14.5 Макрос islessgreater (стр.: TBD)
- F.10.11 Макросы сравнения (стр.: TBD)
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.12.14.5 Макрос islessgreater (стр.: 261)
- F.10.11 Макросы сравнения (стр.: 531)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.12.14.5 Макрос islessgreater (стр.: 241-242)
См. также
|
(C99) | проверяет, меньше ли первый аргумент с плавающей точкой второго (макрос функции) |
|
(C99) | проверяет, больше ли первый аргумент с плавающей точкой второго (макрос функции) |
Документация по C++ для islessgreater |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/numeric/math/islessgreater