xref: /dflybsd-src/lib/libm/man/fpclassify.3 (revision 96d766c07768c4926976fc8a06f2906dc2d76fbe)
1b6b35a1bSSascha Wildner.\" Copyright (c) 2003 Mike Barcroft <mike@FreeBSD.org>
2b6b35a1bSSascha Wildner.\" All rights reserved.
3b6b35a1bSSascha Wildner.\"
4b6b35a1bSSascha Wildner.\" Redistribution and use in source and binary forms, with or without
5b6b35a1bSSascha Wildner.\" modification, are permitted provided that the following conditions
6b6b35a1bSSascha Wildner.\" are met:
7b6b35a1bSSascha Wildner.\" 1. Redistributions of source code must retain the above copyright
8b6b35a1bSSascha Wildner.\"    notice, this list of conditions and the following disclaimer.
9b6b35a1bSSascha Wildner.\" 2. Redistributions in binary form must reproduce the above copyright
10b6b35a1bSSascha Wildner.\"    notice, this list of conditions and the following disclaimer in the
11b6b35a1bSSascha Wildner.\"    documentation and/or other materials provided with the distribution.
12b6b35a1bSSascha Wildner.\"
13b6b35a1bSSascha Wildner.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14b6b35a1bSSascha Wildner.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15b6b35a1bSSascha Wildner.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16b6b35a1bSSascha Wildner.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17b6b35a1bSSascha Wildner.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18b6b35a1bSSascha Wildner.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19b6b35a1bSSascha Wildner.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20b6b35a1bSSascha Wildner.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21b6b35a1bSSascha Wildner.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22b6b35a1bSSascha Wildner.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23b6b35a1bSSascha Wildner.\" SUCH DAMAGE.
24b6b35a1bSSascha Wildner.\"
25b6b35a1bSSascha Wildner.\" $FreeBSD: head/lib/libc/gen/fpclassify.3 140890 2005-01-27 05:46:17Z das $
26b6b35a1bSSascha Wildner.\"
27*96d766c0SSascha Wildner.Dd March 28, 2020
28b6b35a1bSSascha Wildner.Dt FPCLASSIFY 3
29b6b35a1bSSascha Wildner.Os
30b6b35a1bSSascha Wildner.Sh NAME
31b6b35a1bSSascha Wildner.Nm fpclassify , isfinite , isinf , isnan , isnormal
32b6b35a1bSSascha Wildner.Nd "classify a floating-point number"
33b6b35a1bSSascha Wildner.Sh SYNOPSIS
34b6b35a1bSSascha Wildner.In math.h
35b6b35a1bSSascha Wildner.Ft int
36b6b35a1bSSascha Wildner.Fn fpclassify "real-floating x"
37b6b35a1bSSascha Wildner.Ft int
38b6b35a1bSSascha Wildner.Fn isfinite "real-floating x"
39b6b35a1bSSascha Wildner.Ft int
40b6b35a1bSSascha Wildner.Fn isinf "real-floating x"
41b6b35a1bSSascha Wildner.Ft int
42b6b35a1bSSascha Wildner.Fn isnan "real-floating x"
43b6b35a1bSSascha Wildner.Ft int
44b6b35a1bSSascha Wildner.Fn isnormal "real-floating x"
45b6b35a1bSSascha Wildner.Sh DESCRIPTION
46b6b35a1bSSascha WildnerThe
47b6b35a1bSSascha Wildner.Fn fpclassify
48b6b35a1bSSascha Wildnermacro takes an argument of
49b6b35a1bSSascha Wildner.Fa x
50b6b35a1bSSascha Wildnerand returns one of the following manifest constants.
51b6b35a1bSSascha Wildner.Bl -tag -width ".Dv FP_SUBNORMAL"
52b6b35a1bSSascha Wildner.It Dv FP_INFINITE
53b6b35a1bSSascha WildnerIndicates that
54b6b35a1bSSascha Wildner.Fa x
55b6b35a1bSSascha Wildneris an infinite number.
56b6b35a1bSSascha Wildner.It Dv FP_NAN
57b6b35a1bSSascha WildnerIndicates that
58b6b35a1bSSascha Wildner.Fa x
59b6b35a1bSSascha Wildneris not a number (NaN).
60b6b35a1bSSascha Wildner.It Dv FP_NORMAL
61b6b35a1bSSascha WildnerIndicates that
62b6b35a1bSSascha Wildner.Fa x
63b6b35a1bSSascha Wildneris a normalized number.
64b6b35a1bSSascha Wildner.It Dv FP_SUBNORMAL
65b6b35a1bSSascha WildnerIndicates that
66b6b35a1bSSascha Wildner.Fa x
67b6b35a1bSSascha Wildneris a denormalized number.
68b6b35a1bSSascha Wildner.It Dv FP_ZERO
69b6b35a1bSSascha WildnerIndicates that
70b6b35a1bSSascha Wildner.Fa x
71b6b35a1bSSascha Wildneris zero (0 or \-0).
72b6b35a1bSSascha Wildner.El
73b6b35a1bSSascha Wildner.Pp
74b6b35a1bSSascha WildnerThe
75b6b35a1bSSascha Wildner.Fn isfinite
76b6b35a1bSSascha Wildnermacro returns a non-zero value if and only if its argument has
77b6b35a1bSSascha Wildnera finite (zero, subnormal, or normal) value.
78b6b35a1bSSascha WildnerThe
79b6b35a1bSSascha Wildner.Fn isinf ,
80b6b35a1bSSascha Wildner.Fn isnan ,
81b6b35a1bSSascha Wildnerand
82b6b35a1bSSascha Wildner.Fn isnormal
83b6b35a1bSSascha Wildnermacros return non-zero if and only if
84b6b35a1bSSascha Wildner.Fa x
85b6b35a1bSSascha Wildneris an infinity, NaN,
86b6b35a1bSSascha Wildneror a non-zero normalized number, respectively.
87b6b35a1bSSascha Wildner.Pp
88b6b35a1bSSascha WildnerThe symbol
89b6b35a1bSSascha Wildner.Fn isnanf
90b6b35a1bSSascha Wildneris provided as an alias to
91b6b35a1bSSascha Wildner.Fn isnan
92b6b35a1bSSascha Wildnerfor compatibility, and its use is deprecated.
93b6b35a1bSSascha WildnerSimilarly,
94b6b35a1bSSascha Wildner.Fn finite
95b6b35a1bSSascha Wildnerand
96b6b35a1bSSascha Wildner.Fn finitef
97b6b35a1bSSascha Wildnerare deprecated versions of
98b6b35a1bSSascha Wildner.Fn isfinite .
99b6b35a1bSSascha Wildner.Sh SEE ALSO
100b6b35a1bSSascha Wildner.Xr isgreater 3 ,
101b6b35a1bSSascha Wildner.Xr signbit 3
102b6b35a1bSSascha Wildner.Sh STANDARDS
103b6b35a1bSSascha WildnerThe
104b6b35a1bSSascha Wildner.Fn fpclassify ,
105b6b35a1bSSascha Wildner.Fn isfinite ,
106b6b35a1bSSascha Wildner.Fn isinf ,
107b6b35a1bSSascha Wildner.Fn isnan ,
108b6b35a1bSSascha Wildnerand
109b6b35a1bSSascha Wildner.Fn isnormal
110b6b35a1bSSascha Wildnermacros conform to
111b6b35a1bSSascha Wildner.St -isoC-99 .
112b6b35a1bSSascha Wildner.Sh HISTORY
113b6b35a1bSSascha WildnerThe
114b6b35a1bSSascha Wildner.Fn fpclassify ,
115b6b35a1bSSascha Wildner.Fn isfinite ,
116b6b35a1bSSascha Wildner.Fn isinf ,
117b6b35a1bSSascha Wildner.Fn isnan ,
118b6b35a1bSSascha Wildnerand
119b6b35a1bSSascha Wildner.Fn isnormal
120b6b35a1bSSascha Wildnermacros were added in
121b6b35a1bSSascha Wildner.Dx 1.3 .
122b6b35a1bSSascha Wildner.Bx 3
123b6b35a1bSSascha Wildnerintroduced
124b6b35a1bSSascha Wildner.Fn isinf
125b6b35a1bSSascha Wildnerand
126b6b35a1bSSascha Wildner.Fn isnan
127b6b35a1bSSascha Wildnerfunctions, which accepted
128b6b35a1bSSascha Wildner.Vt double
129b6b35a1bSSascha Wildnerarguments; these have been superseded by the macros
130b6b35a1bSSascha Wildnerdescribed above.
131