]>
Commit | Line | Data |
---|---|---|
fea681da MK |
1 | .\" Copyright 2004 Andries Brouwer <aeb@cwi.nl>. |
2 | .\" | |
3 | .\" Permission is granted to make and distribute verbatim copies of this | |
4 | .\" manual provided the copyright notice and this permission notice are | |
5 | .\" preserved on all copies. | |
6 | .\" | |
7 | .\" Permission is granted to copy and distribute modified versions of this | |
8 | .\" manual under the conditions for verbatim copying, provided that the | |
9 | .\" entire resulting derived work is distributed under the terms of a | |
10 | .\" permission notice identical to this one. | |
c13182ef | 11 | .\" |
fea681da MK |
12 | .\" Since the Linux kernel and libraries are constantly changing, this |
13 | .\" manual page may be incorrect or out-of-date. The author(s) assume no | |
14 | .\" responsibility for errors or omissions, or for damages resulting from | |
15 | .\" the use of the information contained herein. The author(s) may not | |
16 | .\" have taken the same level of care in the production of this manual, | |
17 | .\" which is licensed free of charge, as they might when working | |
18 | .\" professionally. | |
c13182ef | 19 | .\" |
fea681da MK |
20 | .\" Formatted or processed versions of this manual, if unaccompanied by |
21 | .\" the source, must acknowledge the copyright and authors of this work. | |
22 | .\" | |
23 | .TH FINITE 3 2004-10-31 "" "Linux Programmer's Manual" | |
24 | .SH NAME | |
25 | finite, finitef, finitel, isinf, isinff, isinfl, isnan, isnanf, isnanl \- | |
26 | BSD floating point classification functions | |
27 | .SH SYNOPSIS | |
28 | .nf | |
29 | #define _BSD_SOURCE | |
30 | .br | |
31 | .B #include <math.h> | |
32 | .sp | |
33 | .BI "int finite(double " x ); | |
34 | .br | |
35 | .BI "int finitef(float " x ); | |
36 | .br | |
37 | .BI "int finitel(long double " x ); | |
38 | .sp | |
39 | .BI "int isinf(double " x ); | |
40 | .br | |
41 | .BI "int isinff(float " x ); | |
42 | .br | |
43 | .BI "int isinfl(long double " x ); | |
44 | .sp | |
45 | .BI "int isnan(double " x ); | |
46 | .br | |
47 | .BI "int isnanf(float " x ); | |
48 | .br | |
49 | .BI "int isnanl(long double " x ); | |
50 | .fi | |
51 | .SH DESCRIPTION | |
52 | The | |
e511ffb6 | 53 | .BR finite () |
fea681da MK |
54 | functions return a non-zero value if \fIx\fP is neither infinite |
55 | nor a "not-a-number" (NaN) value, and 0 otherwise. | |
56 | ||
57 | The | |
e511ffb6 | 58 | .BR isnan () |
fea681da MK |
59 | functions return a non-zero value if \fIx\fP is a NaN value, |
60 | and 0 otherwise. | |
61 | ||
62 | The | |
e511ffb6 | 63 | .BR isinf () |
fea681da MK |
64 | functions return 1 if \fIx\fP is plus infinity, \-1 is \fIx\fP |
65 | is minus infinity, and 0 otherwise. | |
19c98696 | 66 | .SH NOTES |
c13182ef MK |
67 | Note that these functions are obsolete. |
68 | C99 defines macros | |
fea681da MK |
69 | isfinite(), isinf() and isnan() (for all types) replacing them. |
70 | Further note that the C99 isinf() has weaker guarantees on the return value. | |
71 | See | |
72 | .BR fpclassify (3). | |
73 | .\" | |
74 | .\" finite* not on HP-UX; they exist on Tru64. | |
105482f2 | 75 | |
fea681da MK |
76 | On a glibc system, these functions are declared by |
77 | .I <math.h> | |
db4e96b7 MK |
78 | when |
79 | .B _BSD_SOURCE | |
80 | or | |
81 | .B _SVID_SOURCE | |
82 | or | |
83 | .B _GNU_SOURCE | |
84 | is defined. | |
2f0af33b MK |
85 | The isnan() functions will also be declared when |
86 | .B _XOPEN_SOURCE | |
fea681da | 87 | is defined. |
889829be MK |
88 | .\" .SH HISTORY |
89 | .\" The | |
90 | .\" .BR finite () | |
91 | .\" function occurs in 4.3BSD. | |
b14d4aa5 | 92 | .\" see IEEE.3 in the 4.3BSD manual |
fea681da | 93 | .SH "SEE ALSO" |
50e5322c | 94 | .BR fpclassify (3), |
a8e7c990 | 95 | .BR feature_test_macros (7) |