xref: /freebsd/contrib/llvm-project/libcxx/include/float.h (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1 // -*- C++ -*-
2 //===----------------------------------------------------------------------===//
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 #if __has_include_next(<float.h>)
80 #  include_next <float.h>
81 #endif
82 
83 #ifdef __cplusplus
84 
85 #  ifndef FLT_EVAL_METHOD
86 #    define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
87 #  endif
88 
89 #  ifndef DECIMAL_DIG
90 #    define DECIMAL_DIG __DECIMAL_DIG__
91 #  endif
92 
93 #endif // __cplusplus
94 
95 #endif // _LIBCPP_FLOAT_H
96