mirror of https://github.com/mkerrisk/man-pages
88 lines
2.6 KiB
Groff
88 lines
2.6 KiB
Groff
|
.\" 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)
|