2 .\" Copyright 1989 AT&T. Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
3 .\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at
4 .\" http://www.opengroup.org/bookstore/.
5 .\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.
6 .\" This notice shall appear on any product containing this material.
7 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
8 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
9 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
10 .TH MATH.H 3HEAD "Aug 11, 2004"
12 math.h, math \- mathematical declarations
16 \fB#include <math.h>\fR
22 The <\fBmath.h\fR> header includes definitions for the following types:
29 A real-floating type at least as wide as \fBfloat\fR.
38 A real-floating type at least as wide as \fBdouble\fR, and at least as wide as
44 If \fBFLT_EVAL_METHOD\fR equals 0, \fBfloat_t\fR and \fBdouble_t\fR are
45 \fBfloat\fR and \fBdouble\fR, respectively. If \fBFLT_EVAL_METHOD\fR equals 1,
46 they are both \fBdouble\fR. If \fBFLT_EVAL_METHOD\fR equals 2, they are both be
47 \fBlong double\fR. Other values of \fBFLT_EVAL_METHOD\fR are
48 implementation-defined.
51 The <\fBmath.h\fR> header provides the following constants. The values are of
52 type \fBdouble\fR and are accurate within the precision of the \fBdouble\fR
60 The base of natural logarithms (\fIe\fR).
69 The base-2 logarithm of \fIe\fR.
78 The base-10 logarithm of \fIe\fR.
87 The natural logarithm of 2.
96 The natural logarithm of 10.
109 , the ratio of the circumference of a circle to its diameter.
167 \fB\fBM_2_SQRTPI\fR\fR
170 2 over the square root of \c
183 The positive square root of 2.
189 \fB\fBM_SQRT1_2\fR\fR
192 The positive square root of 1/2.
197 The <\fBmath.h\fR> header defines the following symbolic constants:
204 The maximum value of a non-infinite single-precision floating point number.
213 A positive \fBdouble\fR expression, not necessarily representable as a float.
214 Used as an error value returned by the mathematics library. \fBHUGE_VAL\fR
215 evaluates to +infinity on systems supporting IEEE Std 754-1985.
221 \fB\fBHUGE_VALF\fR\fR
224 A positive \fBfloat\fR constant expression. Used as an error value returned by
225 the mathematics library. \fBHUGE_VALF\fR evaluates to +infinity on systems
226 supporting IEEE Std 754-1985.
232 \fB\fBHUGE_VALL\fR\fR
235 A positive \fBlong double\fR constant expression. Used as an error value
236 returned by the mathematics library. \fBHUGE_VALL\fR evaluates to +infinity on
237 systems supporting IEEE Std 754-1985.
246 A constant expression of type \fBfloat\fR representing positive or unsigned
247 infinity, if available; else a positive constant of type \fBfloat\fR that
248 overflows at translation time.
257 A constant expression of type float representing a quiet NaN. This symbolic
258 constant is only defined if the implementation supports quiet NaNs for the
264 The following macros are defined for number classification. They represent the
265 mutually-exclusive kinds of floating-point values. They expand to integer
266 constant expressions with distinct values
280 The following optional macros indicate whether the \fBfma()\fR family of
281 functions are fast compared with direct code:
293 The \fBFP_FAST_FMA\fR macro is defined to indicate that the \fBfma()\fR
294 function generally executes about as fast as, or faster than, a multiply and an
295 add of \fBdouble\fR operands. The other macros have the equivalent meaning for
296 the \fBfloat\fR and \fBlong double\fR versions.
299 The following macros expand to integer constant expressions whose values are
300 returned by \fBilogb\fR(\fIx\fR) if \fIx\fR is zero or NaN, respectively. The
301 value of \fBFP_ILOGB0\fR is either {\fBINT_MIN\fR} or -{\fBINT_MAX\fR}. The
302 value of \fBFP_ILOGBNAN\fR is either {\fBINT_MAX\fR} or {\fBINT_MIN\fR}.
313 The following macros expand to the integer constants 1 and 2, respectively:
324 The following macro expands to an expression that has type \fBint\fR and the
325 value \fBMATH_ERREXCEPT\fR:
335 The value of the macro \fBmath_errhandling\fR is constant for the duration of
336 the program. If a macro definition is suppressed or a program defines an
337 identifier with the name \fBmath_errhandling\fR, the behavior is undefined.
340 The <\fBmath.h\fR> header defines he following external variable:
350 The <\fBmath.h\fR> header defines the structure and constants used by the
351 \fBmatherr\fR(3M) error-handling mechanisms.
355 See \fBattributes\fR(5) for descriptions of the following attributes:
363 ATTRIBUTE TYPE ATTRIBUTE VALUE
365 Interface Stability Standard
371 \fBIntro\fR(3), \fBfenv.h\fR(3HEAD), \fBlibm\fR(3LIB), \fBlimits.h\fR(3HEAD),
372 \fBmatherr\fR(3M), \fBattributes\fR(5), \fBstandards\fR(5)