summaryrefslogtreecommitdiffstats
path: root/man3/finite.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/finite.3')
-rw-r--r--man3/finite.387
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)