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