1FINITE(3) Linux Programmer's Manual FINITE(3)
2
3
4
6 finite, finitef, finitel, isinf, isinff, isinfl, isnan, isnanf, isnanl
7 - BSD floating-point classification functions
8
10 #include <math.h>
11
12 int finite(double x);
13 int finitef(float x);
14 int finitel(long double x);
15
16 int isinf(double x);
17 int isinff(float x);
18 int isinfl(long double x);
19
20 int isnan(double x);
21 int isnanf(float x);
22 int isnanl(long double x);
23
24 Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
25
26 finite(), finitef(), finitel():
27 /* Glibc since 2.19: */ _DEFAULT_SOURCE
28 || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
29 isinf():
30 _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE
31 || /* Glibc since 2.19: */ _DEFAULT_SOURCE
32 || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
33 isinff(), isinfl():
34 /* Glibc since 2.19: */ _DEFAULT_SOURCE
35 || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
36 isnan():
37 _XOPEN_SOURCE || _ISOC99_SOURCE
38 || /* Glibc since 2.19: */ _DEFAULT_SOURCE
39 || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
40 isnanf(), isnanl():
41 _XOPEN_SOURCE >= 600
42 || /* Glibc since 2.19: */ _DEFAULT_SOURCE
43 || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
44
46 The finite(), finitef(), and finitel() functions return a nonzero value
47 if x is neither infinite nor a "not-a-number" (NaN) value, and 0 other‐
48 wise.
49
50 The isnan(), isnanf(), and isnanl() functions return a nonzero value if
51 x is a NaN value, and 0 otherwise.
52
53 The isinf(), isinff(), and isinfl() functions return 1 if x is positive
54 infinity, -1 if x is negative infinity, and 0 otherwise.
55
57 For an explanation of the terms used in this section, see
58 attributes(7).
59
60 ┌────────────────────────────────┬───────────────┬─────────┐
61 │Interface │ Attribute │ Value │
62 ├────────────────────────────────┼───────────────┼─────────┤
63 │finite(), finitef(), finitel(), │ Thread safety │ MT-Safe │
64 │isinf(), isinff(), isinfl(), │ │ │
65 │isnan(), isnanf(), isnanl() │ │ │
66 └────────────────────────────────┴───────────────┴─────────┘
68 Note that these functions are obsolete. C99 defines macros isfinite(),
69 isinf(), and isnan() (for all types) replacing them. Further note that
70 the C99 isinf() has weaker guarantees on the return value. See fpclas‐
71 sify(3).
72
74 fpclassify(3)
75
77 This page is part of release 4.16 of the Linux man-pages project. A
78 description of the project, information about reporting bugs, and the
79 latest version of this page, can be found at
80 https://www.kernel.org/doc/man-pages/.
81
82
83
84 2017-09-15 FINITE(3)