93 lines · plain
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-exception7//8//===----------------------------------------------------------------------===//9 10#ifndef _LIBCPP_CFLOAT11#define _LIBCPP_CFLOAT12 13/*14 cfloat synopsis15 16Macros:17 18 FLT_ROUNDS19 FLT_EVAL_METHOD // C9920 FLT_RADIX21 22 FLT_HAS_SUBNORM // C1123 DBL_HAS_SUBNORM // C1124 LDBL_HAS_SUBNORM // C1125 26 FLT_MANT_DIG27 DBL_MANT_DIG28 LDBL_MANT_DIG29 30 DECIMAL_DIG // C9931 FLT_DECIMAL_DIG // C1132 DBL_DECIMAL_DIG // C1133 LDBL_DECIMAL_DIG // C1134 35 FLT_DIG36 DBL_DIG37 LDBL_DIG38 39 FLT_MIN_EXP40 DBL_MIN_EXP41 LDBL_MIN_EXP42 43 FLT_MIN_10_EXP44 DBL_MIN_10_EXP45 LDBL_MIN_10_EXP46 47 FLT_MAX_EXP48 DBL_MAX_EXP49 LDBL_MAX_EXP50 51 FLT_MAX_10_EXP52 DBL_MAX_10_EXP53 LDBL_MAX_10_EXP54 55 FLT_MAX56 DBL_MAX57 LDBL_MAX58 59 FLT_EPSILON60 DBL_EPSILON61 LDBL_EPSILON62 63 FLT_MIN64 DBL_MIN65 LDBL_MIN66 67 FLT_TRUE_MIN // C1168 DBL_TRUE_MIN // C1169 LDBL_TRUE_MIN // C1170*/71 72#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)73# include <__cxx03/cfloat>74#else75# include <__config>76 77# include <float.h>78 79# ifndef _LIBCPP_FLOAT_H80# error <cfloat> tried including <float.h> but didn't find libc++'s <float.h> header. \81 This usually means that your header search paths are not configured properly. \82 The header search paths should contain the C++ Standard Library headers before \83 any C Standard Library, and you are probably using compiler flags that make that \84 not be the case.85# endif86 87# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)88# pragma GCC system_header89# endif90#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)91 92#endif // _LIBCPP_CFLOAT93