xref: /freebsd/contrib/llvm-project/libcxx/include/float.h (revision 0b57cec536236d46e3dba9bd041533462f33dbb7)
1*0b57cec5SDimitry Andric // -*- C++ -*-
2*0b57cec5SDimitry Andric //===--------------------------- float.h ----------------------------------===//
3*0b57cec5SDimitry Andric //
4*0b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5*0b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
6*0b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7*0b57cec5SDimitry Andric //
8*0b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
9*0b57cec5SDimitry Andric 
10*0b57cec5SDimitry Andric #ifndef _LIBCPP_FLOAT_H
11*0b57cec5SDimitry Andric #define _LIBCPP_FLOAT_H
12*0b57cec5SDimitry Andric 
13*0b57cec5SDimitry Andric /*
14*0b57cec5SDimitry Andric     float.h synopsis
15*0b57cec5SDimitry Andric 
16*0b57cec5SDimitry Andric Macros:
17*0b57cec5SDimitry Andric 
18*0b57cec5SDimitry Andric     FLT_ROUNDS
19*0b57cec5SDimitry Andric     FLT_EVAL_METHOD     // C99
20*0b57cec5SDimitry Andric     FLT_RADIX
21*0b57cec5SDimitry Andric 
22*0b57cec5SDimitry Andric     FLT_MANT_DIG
23*0b57cec5SDimitry Andric     DBL_MANT_DIG
24*0b57cec5SDimitry Andric     LDBL_MANT_DIG
25*0b57cec5SDimitry Andric 
26*0b57cec5SDimitry Andric     FLT_HAS_SUBNORM     // C11
27*0b57cec5SDimitry Andric     DBL_HAS_SUBNORM     // C11
28*0b57cec5SDimitry Andric     LDBL_HAS_SUBNORM    // C11
29*0b57cec5SDimitry Andric 
30*0b57cec5SDimitry Andric     DECIMAL_DIG         // C99
31*0b57cec5SDimitry Andric     FLT_DECIMAL_DIG     // C11
32*0b57cec5SDimitry Andric     DBL_DECIMAL_DIG     // C11
33*0b57cec5SDimitry Andric     LDBL_DECIMAL_DIG    // C11
34*0b57cec5SDimitry Andric 
35*0b57cec5SDimitry Andric     FLT_DIG
36*0b57cec5SDimitry Andric     DBL_DIG
37*0b57cec5SDimitry Andric     LDBL_DIG
38*0b57cec5SDimitry Andric 
39*0b57cec5SDimitry Andric     FLT_MIN_EXP
40*0b57cec5SDimitry Andric     DBL_MIN_EXP
41*0b57cec5SDimitry Andric     LDBL_MIN_EXP
42*0b57cec5SDimitry Andric 
43*0b57cec5SDimitry Andric     FLT_MIN_10_EXP
44*0b57cec5SDimitry Andric     DBL_MIN_10_EXP
45*0b57cec5SDimitry Andric     LDBL_MIN_10_EXP
46*0b57cec5SDimitry Andric 
47*0b57cec5SDimitry Andric     FLT_MAX_EXP
48*0b57cec5SDimitry Andric     DBL_MAX_EXP
49*0b57cec5SDimitry Andric     LDBL_MAX_EXP
50*0b57cec5SDimitry Andric 
51*0b57cec5SDimitry Andric     FLT_MAX_10_EXP
52*0b57cec5SDimitry Andric     DBL_MAX_10_EXP
53*0b57cec5SDimitry Andric     LDBL_MAX_10_EXP
54*0b57cec5SDimitry Andric 
55*0b57cec5SDimitry Andric     FLT_MAX
56*0b57cec5SDimitry Andric     DBL_MAX
57*0b57cec5SDimitry Andric     LDBL_MAX
58*0b57cec5SDimitry Andric 
59*0b57cec5SDimitry Andric     FLT_EPSILON
60*0b57cec5SDimitry Andric     DBL_EPSILON
61*0b57cec5SDimitry Andric     LDBL_EPSILON
62*0b57cec5SDimitry Andric 
63*0b57cec5SDimitry Andric     FLT_MIN
64*0b57cec5SDimitry Andric     DBL_MIN
65*0b57cec5SDimitry Andric     LDBL_MIN
66*0b57cec5SDimitry Andric 
67*0b57cec5SDimitry Andric     FLT_TRUE_MIN        // C11
68*0b57cec5SDimitry Andric     DBL_TRUE_MIN        // C11
69*0b57cec5SDimitry Andric     LDBL_TRUE_MIN       // C11
70*0b57cec5SDimitry Andric 
71*0b57cec5SDimitry Andric */
72*0b57cec5SDimitry Andric 
73*0b57cec5SDimitry Andric #include <__config>
74*0b57cec5SDimitry Andric 
75*0b57cec5SDimitry Andric #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
76*0b57cec5SDimitry Andric #pragma GCC system_header
77*0b57cec5SDimitry Andric #endif
78*0b57cec5SDimitry Andric 
79*0b57cec5SDimitry Andric #include_next <float.h>
80*0b57cec5SDimitry Andric 
81*0b57cec5SDimitry Andric #ifdef __cplusplus
82*0b57cec5SDimitry Andric 
83*0b57cec5SDimitry Andric #ifndef FLT_EVAL_METHOD
84*0b57cec5SDimitry Andric #define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
85*0b57cec5SDimitry Andric #endif
86*0b57cec5SDimitry Andric 
87*0b57cec5SDimitry Andric #ifndef DECIMAL_DIG
88*0b57cec5SDimitry Andric #define DECIMAL_DIG __DECIMAL_DIG__
89*0b57cec5SDimitry Andric #endif
90*0b57cec5SDimitry Andric 
91*0b57cec5SDimitry Andric #endif // __cplusplus
92*0b57cec5SDimitry Andric 
93*0b57cec5SDimitry Andric #endif  // _LIBCPP_FLOAT_H
94