master
 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
16Macros:
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