diff options
Diffstat (limited to 'man3/finite.3')
-rw-r--r-- | man3/finite.3 | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/man3/finite.3 b/man3/finite.3 new file mode 100644 index 000000000..da8de5ee8 --- /dev/null +++ b/man3/finite.3 @@ -0,0 +1,87 @@ +.\" Copyright 2004 Andries Brouwer <aeb@cwi.nl>. +.\" +.\" Permission is granted to make and distribute verbatim copies of this +.\" manual provided the copyright notice and this permission notice are +.\" preserved on all copies. +.\" +.\" Permission is granted to copy and distribute modified versions of this +.\" manual under the conditions for verbatim copying, provided that the +.\" entire resulting derived work is distributed under the terms of a +.\" permission notice identical to this one. +.\" +.\" Since the Linux kernel and libraries are constantly changing, this +.\" manual page may be incorrect or out-of-date. The author(s) assume no +.\" responsibility for errors or omissions, or for damages resulting from +.\" the use of the information contained herein. The author(s) may not +.\" have taken the same level of care in the production of this manual, +.\" which is licensed free of charge, as they might when working +.\" professionally. +.\" +.\" Formatted or processed versions of this manual, if unaccompanied by +.\" the source, must acknowledge the copyright and authors of this work. +.\" +.TH FINITE 3 2004-10-31 "" "Linux Programmer's Manual" +.SH NAME +finite, finitef, finitel, isinf, isinff, isinfl, isnan, isnanf, isnanl \- +BSD floating point classification functions +.SH SYNOPSIS +.nf +#define _BSD_SOURCE +.br +.B #include <math.h> +.sp +.BI "int finite(double " x ); +.br +.BI "int finitef(float " x ); +.br +.BI "int finitel(long double " x ); +.sp +.BI "int isinf(double " x ); +.br +.BI "int isinff(float " x ); +.br +.BI "int isinfl(long double " x ); +.sp +.BI "int isnan(double " x ); +.br +.BI "int isnanf(float " x ); +.br +.BI "int isnanl(long double " x ); +.fi +.SH DESCRIPTION +The +.B finite +functions return a non-zero value if \fIx\fP is neither infinite +nor a "not-a-number" (NaN) value, and 0 otherwise. + +The +.B isnan +functions return a non-zero value if \fIx\fP is a NaN value, +and 0 otherwise. + +The +.B isinf +functions return 1 if \fIx\fP is plus infinity, \-1 is \fIx\fP +is minus infinity, and 0 otherwise. + +.SH NOTE +Note that these functions are obsolete. C99 defines macros +isfinite(), isinf() and isnan() (for all types) replacing them. +Further note that the C99 isinf() has weaker guarantees on the return value. +See +.BR fpclassify (3). +.\" +.\" finite* not on HP-UX; they exist on Tru64. +.SH AVAILABILITY +On a glibc system, these functions are declared by +.I <math.h> +when _BSD_SOURCE or _SVID_SOURCE or _GNU_SOURCE is defined. +The isnan() functions will also be declared when _XOPEN_SOURCE +is defined. +.SH HISTORY +The +.B finite +function occurs in BSD 4.3. +.\" see IEEE.3 in the BSD 4.3 manual +.SH "SEE ALSO" +.BR fpclassify (3) |