100 lines · c
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_FLOAT_H11#define _LIBCPP_FLOAT_H12 13/*14 float.h synopsis15 16Macros:17 18 FLT_ROUNDS19 FLT_EVAL_METHOD // C9920 FLT_RADIX21 22 FLT_MANT_DIG23 DBL_MANT_DIG24 LDBL_MANT_DIG25 26 FLT_HAS_SUBNORM // C1127 DBL_HAS_SUBNORM // C1128 LDBL_HAS_SUBNORM // C1129 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 73#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)74# include <__cxx03/__config>75#else76# include <__config>77#endif78 79#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)80# pragma GCC system_header81#endif82 83#if __has_include_next(<float.h>)84# include_next <float.h>85#endif86 87#ifdef __cplusplus88 89# ifndef FLT_EVAL_METHOD90# define FLT_EVAL_METHOD __FLT_EVAL_METHOD__91# endif92 93# ifndef DECIMAL_DIG94# define DECIMAL_DIG __DECIMAL_DIG__95# endif96 97#endif // __cplusplus98 99#endif // _LIBCPP_FLOAT_H100