xref: /llvm-project/libcxx/include/float.h (revision b9a2658a3e8bd13b0f9e7a8a440832a95b377216)
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 #if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
74 #  include <__cxx03/float.h>
75 #else
76 #  include <__config>
77 
78 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
79 #    pragma GCC system_header
80 #  endif
81 
82 #  if __has_include_next(<float.h>)
83 #    include_next <float.h>
84 #  endif
85 
86 #  ifdef __cplusplus
87 
88 #    ifndef FLT_EVAL_METHOD
89 #      define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
90 #    endif
91 
92 #    ifndef DECIMAL_DIG
93 #      define DECIMAL_DIG __DECIMAL_DIG__
94 #    endif
95 
96 #  endif // __cplusplus
97 #endif   // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
98 
99 #endif // _LIBCPP_FLOAT_H
100