summaryrefslogtreecommitdiffstats
path: root/man3/finite.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/finite.3')
-rw-r--r--man3/finite.3144
1 files changed, 144 insertions, 0 deletions
diff --git a/man3/finite.3 b/man3/finite.3
new file mode 100644
index 0000000..11a1581
--- /dev/null
+++ b/man3/finite.3
@@ -0,0 +1,144 @@
+'\" t
+.\" Copyright 2004 Andries Brouwer <aeb@cwi.nl>.
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.TH finite 3 2023-07-20 "Linux man-pages 6.05.01"
+.SH NAME
+finite, finitef, finitel, isinf, isinff, isinfl, isnan, isnanf, isnanl \-
+BSD floating-point classification functions
+.SH LIBRARY
+Math library
+.RI ( libm ", " \-lm )
+.SH SYNOPSIS
+.nf
+.B #include <math.h>
+.PP
+.BI "int finite(double " x );
+.BI "int finitef(float " x );
+.BI "int finitel(long double " x );
+.PP
+.BI "int isinf(double " x );
+.BI "int isinff(float " x );
+.BI "int isinfl(long double " x );
+.PP
+.BI "int isnan(double " x );
+.BI "int isnanf(float " x );
+.BI "int isnanl(long double " x );
+.fi
+.PP
+.RS -4
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.RE
+.PP
+.BR finite (),
+.BR finitef (),
+.BR finitel ():
+.nf
+ /* glibc >= 2.19: */ _DEFAULT_SOURCE
+ || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
+.PP
+.BR isinf ():
+ _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE
+ || /* glibc >= 2.19: */ _DEFAULT_SOURCE
+ || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
+.fi
+.PP
+.BR isinff (),
+.BR isinfl ():
+.nf
+ /* glibc >= 2.19: */ _DEFAULT_SOURCE
+ || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
+.fi
+.PP
+.BR isnan ():
+.nf
+ _XOPEN_SOURCE || _ISOC99_SOURCE
+ || /* glibc >= 2.19: */ _DEFAULT_SOURCE
+ || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
+.fi
+.PP
+.BR isnanf (),
+.BR isnanl ():
+.nf
+ _XOPEN_SOURCE >= 600
+ || /* glibc >= 2.19: */ _DEFAULT_SOURCE
+ || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
+.fi
+.SH DESCRIPTION
+The
+.BR finite (),
+.BR finitef (),
+and
+.BR finitel ()
+functions return a nonzero value if
+.I x
+is neither infinite
+nor a "not-a-number" (NaN) value, and 0 otherwise.
+.PP
+The
+.BR isnan (),
+.BR isnanf (),
+and
+.BR isnanl ()
+functions return a nonzero value if
+.I x
+is a NaN value,
+and 0 otherwise.
+.PP
+The
+.BR isinf (),
+.BR isinff (),
+and
+.BR isinfl ()
+functions return 1 if
+.I x
+is positive infinity, \-1 if
+.I x
+is negative infinity, and 0 otherwise.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbx lb lb
+l l l.
+Interface Attribute Value
+T{
+.na
+.nh
+.BR finite (),
+.BR finitef (),
+.BR finitel (),
+.BR isinf (),
+.BR isinff (),
+.BR isinfl (),
+.BR isnan (),
+.BR isnanf (),
+.BR isnanl ()
+T} Thread safety MT-Safe
+.TE
+.sp 1
+.SH NOTES
+Note that these functions are obsolete.
+C99 defines macros
+.BR isfinite (),
+.BR isinf (),
+and
+.BR isnan ()
+(for all types) replacing them.
+Further note that the C99
+.BR isinf ()
+has weaker guarantees on the return value.
+See
+.BR fpclassify (3).
+.\"
+.\" finite* not on HP-UX; they exist on Tru64.
+.\" .SH HISTORY
+.\" The
+.\" .BR finite ()
+.\" function occurs in 4.3BSD.
+.\" see IEEE.3 in the 4.3BSD manual
+.SH SEE ALSO
+.BR fpclassify (3)