OSDN Git Service

LDP: Update original to LDP v3.79
[linuxjm/LDP_man-pages.git] / original / man3 / isgreater.3
index ebea036..660e5a1 100644 (file)
@@ -1,9 +1,13 @@
 .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
+.\"
+.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
 .\" Distributed under GPL
+.\" %%%LICENSE_END
+.\"
 .\" 2002-07-27 Walter Harms
 .\" this was done with the help of the glibc manual
 .\"
-.TH ISGREATER 3  2008-08-05 "" "Linux Programmer's Manual"
+.TH ISGREATER 3  2014-01-27 "" "Linux Programmer's Manual"
 .SH NAME
 isgreater, isgreaterequal, isless, islessequal, islessgreater,
 isunordered \- floating-point relational tests without exception for NaN
@@ -33,38 +37,73 @@ Feature Test Macro Requirements for glibc (see
 .sp
 .ad l
 All functions described here:
-_XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE; or
+.RS
+_XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE ||
+_POSIX_C_SOURCE\ >=\ 200112L;
+.br
+or
 .I cc\ -std=c99
+.RE
 .ad b
 .SH DESCRIPTION
-The normal relation operations (like \fB<\fP, "less than")
+The normal relation operations (like
+.BR < ,
+"less than")
 will fail if one of the operands is NaN.
 This will cause an exception.
-To avoid this, C99 defines these macros.
-The macros are guaranteed to evaluate their operands only once.
-The operands can be of any real floating-point type.
+To avoid this, C99 defines the macros listed below.
+
+These macros are guaranteed to evaluate their arguments only once.
+The arguments must be of real floating-point type (note: do not pass
+integer values as arguments to these macros, since the arguments will
+.I not
+be promoted to real-floating types).
 .TP
 .BR isgreater ()
 determines \fI(x)\ >\ (y)\fP without an exception
-if \fIx\fP or \fIy\fP is NaN.
+if
+.IR x
+or
+.I y
+is NaN.
 .TP
 .BR isgreaterequal ()
 determines \fI(x)\ >=\ (y)\fP without an exception
-if \fIx\fP or \fIy\fP is NaN.
+if
+.IR x
+or
+.I y
+is NaN.
 .TP
 .BR isless ()
 determines \fI(x)\ <\ (y)\fP without an exception
-if \fIx\fP or \fIy\fP is NaN.
+if
+.IR x
+or
+.I y
+is NaN.
 .TP
 .BR islessequal ()
 determines \fI(x)\ <=\ (y)\fP without an exception
-if \fIx\fP or \fIy\fP is NaN.
+if
+.IR x
+or
+.I y
+is NaN.
 .TP
 .BR islessgreater ()
 determines \fI(x)\ < (y) || (x) >\ (y)\fP
-without an exception if \fIx\fP or \fIy\fP is NaN.
+without an exception if
+.IR x
+or
+.I y
+is NaN.
 This macro is not equivalent to \fIx\ !=\ y\fP because that expression is
-true if \fIx\fP or \fIy\fP is NaN.
+true if
+.IR x
+or
+.I y
+is NaN.
 .TP
 .BR isunordered ()
 determines whether its arguments are unordered, that is, whether
@@ -76,16 +115,40 @@ return the result of the relational comparison;
 these macros return 0 if either argument is a NaN.
 
 .BR isunordered ()
-returns 1 if \fIx\fP or \fIy\fP is NaN and 0 otherwise.
+returns 1 if
+.IR x
+or
+.I y
+is NaN and 0 otherwise.
 .SH ERRORS
 No errors occur.
-.SH "CONFORMING TO"
+.SH ATTRIBUTES
+.SS Multithreading (see pthreads(7))
+The
+.BR isgreater (),
+.BR isgreaterequal (),
+.BR isless (),
+.BR islessequal (),
+.BR islessgreater (),
+and
+.BR isunordered ()
+macros are thread-safe.
+.SH CONFORMING TO
 C99, POSIX.1-2001.
 .SH NOTES
 Not all hardware supports these functions,
 and where hardware support isn't provided, they will be emulated by macros.
 This will result in a performance penalty.
 Don't use these functions if NaN is of no concern for you.
-.SH "SEE ALSO"
+.SH SEE ALSO
 .BR fpclassify (3),
 .BR isnan (3)
+.SH COLOPHON
+This page is part of release 3.79 of the Linux
+.I man-pages
+project.
+A description of the project,
+information about reporting bugs,
+and the latest version of this page,
+can be found at
+\%http://www.kernel.org/doc/man\-pages/.