.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) .\" .\" SPDX-License-Identifier: GPL-1.0-or-later .\" .\" 2002-07-27 Walter Harms .\" this was done with the help of the glibc manual .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH isgreater 3 "20 июля 2023 г." "Linux man\-pages 6.05.01" .SH ИМЯ isgreater, isgreaterequal, isless, islessequal, islessgreater, isunordered \- сравнение чисел с плавающей запятой с учётом NaN .SH LIBRARY Math library (\fIlibm\fP, \fI\-lm\fP) .SH СИНТАКСИС .nf \fB#include \fP .PP \fBint isgreater(\fP\fIx\fP\fB, \fP\fIy\fP\fB);\fP \fBint isgreaterequal(\fP\fIx\fP\fB, \fP\fIy\fP\fB);\fP \fBint isless(\fP\fIx\fP\fB, \fP\fIy\fP\fB);\fP \fBint islessequal(\fP\fIx\fP\fB, \fP\fIy\fP\fB);\fP \fBint islessgreater(\fP\fIx\fP\fB, \fP\fIy\fP\fB);\fP \fBint isunordered(\fP\fIx\fP\fB, \fP\fIy\fP\fB);\fP .fi .PP .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .PP .nf All functions described here: _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L .fi .SH ОПИСАНИЕ Обычные операции сравнения (такие как \fB<\fP — «меньше чем») завершаются ошибкой, если одним из операндов является NaN. При этом возникает исключение. Для избежания подобной ситуации в C99 определены макросы, описанные ниже. .PP В данных макросах гарантируется однократное вычисление операндов. Аргументами могут быть любые типы с плавающей запятой (примечание: не передавайте в аргументах целочисленные значения, так как они не будут приведены к типу с плавающей запятой). .TP \fBisgreater\fP() Вычисляет \fI(x)\ >\ (y)\fP даже, если значение \fIx\fP или \fIy\fP равно NaN. .TP \fBisgreaterequal\fP() Вычисляет \fI(x)\ >=\ (y)\fP даже, если значение \fIx\fP или \fIy\fP равно NaN. .TP \fBisless\fP() Вычисляет \fI(x)\ <\ (y)\fP даже, если значение \fIx\fP или \fIy\fP равно NaN. .TP \fBislessequal\fP() Вычисляет \fI(x)\ <=\ (y)\fP даже, если значение \fIx\fP или \fIy\fP равно NaN. .TP \fBislessgreater\fP() Вычисляет \fI(x)\ < (y) || (x) >\ (y)\fP даже, если значение \fIx\fP или \fIy\fP равно NaN. Этот макрос не эквивалентен \fIx\ !=\ y\fP, так как это выражение правдиво (true), если значение \fIx\fP или \fIy\fP равно NaN. .TP \fBisunordered\fP() Вычисляет, являются ли аргументы неупорядоченными (unordered), то есть не равен ли один из аргументов NaN. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" Все макросы, кроме \fBisunordered\fP(), возвращают результат сравнения; они возвращают 0, если один из аргументов равен NaN. .PP Макрос \fBisunordered\fP() возвращает 1, если значение \fIx\fP или \fIy\fP равно NaN, и 0 в противном случае. .SH ОШИБКИ Ошибки не возникают. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBisgreater\fP(), \fBisgreaterequal\fP(), \fBisless\fP(), \fBislessequal\fP(), \fBislessgreater\fP(), \fBisunordered\fP() T} Безвредность в нитях MT\-Safe .TE .sp 1 .SH ВЕРСИИ Не всё оборудование имеет эти возможности, и там, где их нет, они будут эмулироваться макросами. Это приведёт к небольшим потерям производительности. Не используйте эти макросы, если значения NaN для вас не существенны. .SH СТАНДАРТЫ C11, POSIX.1\-2008. .SH ИСТОРИЯ POSIX.1\-2001, C99. .SH "СМ. ТАКЖЕ" \fBfpclassify\fP(3), \fBisnan\fP(3) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Azamat Hackimov , Dmitriy S. Seregin , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .