Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

       isgreater,  isgreaterequal, isless, islessequal, islessgreater, isunordered - сравнение чисел с плавающей
       запятой с учётом NaN

БИБЛИОТЕКА

       Математическая библиотека (libm, -lm)

ОБЗОР

       #include <math.h>

       int isgreater(x, y);
       int isgreaterequal(x, y);
       int isless(x, y);
       int islessequal(x, y);
       int islessgreater(x, y);
       int isunordered(x, y);

   Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

           All functions described here:
               _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

ОПИСАНИЕ

       Обычные операции сравнения (такие как < — «меньше чем») завершаются  ошибкой,  если  одним  из  операндов
       является  NaN.  При  этом возникает исключение. Для избежания подобной ситуации в C99 определены макросы,
       описанные ниже.

       В данных макросах гарантируется однократное вычисление операндов. Аргументами могут  быть  любые  типы  с
       плавающей  запятой  (примечание: не передавайте в аргументах целочисленные значения, так как они не будут
       приведены к типу с плавающей запятой).

       isgreater()
              Вычисляет (x) > (y) даже, если значение x или y равно NaN.

       isgreaterequal()
              Вычисляет (x) >= (y) даже, если значение x или y равно NaN.

       isless()
              Вычисляет (x) < (y) даже, если значение x или y равно NaN.

       islessequal()
              Вычисляет (x) <= (y) даже, если значение x или y равно NaN.

       islessgreater()
              Вычисляет (x) < (y) || (x)  > (y)  даже,  если  значение  x  или  y  равно  NaN.  Этот  макрос  не
              эквивалентен x != y, так как это выражение правдиво (true), если значение x или y равно NaN.

       isunordered()
              Вычисляет,  являются  ли  аргументы  неупорядоченными  (unordered),  то  есть  не равен ли один из
              аргументов NaN.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       Все макросы, кроме isunordered(),  возвращают  результат  сравнения;  они  возвращают  0,  если  один  из
       аргументов равен NaN.

       Макрос isunordered() возвращает 1, если значение x или y равно NaN, и 0 в противном случае.

ОШИБКИ

       Ошибки не возникают.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).
       ┌─────────────────────────────────────────────────────────────────────┬──────────────────────┬──────────┐
       │ ИнтерфейсАтрибутЗначение │
       ├─────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────┤
       │ isgreater(), isgreaterequal(), isless(), islessequal(),             │ Безвредность в нитях │ MT-Safe  │
       │ islessgreater(), isunordered()                                      │                      │          │
       └─────────────────────────────────────────────────────────────────────┴──────────────────────┴──────────┘

ВЕРСИИ

       Не  всё  оборудование  имеет  эти  возможности, и там, где их нет, они будут эмулироваться макросами. Это
       приведёт к небольшим потерям производительности. Не используйте эти макросы, если значения NaN для вас не
       существенны.

СТАНДАРТЫ

       C11, POSIX.1-2008.

ИСТОРИЯ

       POSIX.1-2001, C99.

СМОТРИТЕ ТАКЖЕ

       fpclassify(3), isnan(3)

ПЕРЕВОД

       Русский перевод этой страницы  руководства  разработал(и)  Azamat  Hackimov  <azamat.hackimov@gmail.com>,
       Dmitriy  S. Seregin <dseregin@59.ru>, Yuri Kozlov <yuray@komyakino.ru>, Иван Павлов <pavia00@gmail.com> и
       Kirill Rekhov <krekhov.dev@gmail.com>

       Этот перевод является свободной программной документацией; он распространяется на условиях  общедоступной
       лицензии  GNU  (GNU  General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите  об  этом
       разработчику(ам)   по   его(их)  адресу(ам)  электронной  почты  или  по  адресу  списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                     isgreater(3)