146035553Spatrick// -*- C++ -*- 2*4bdff4beSrobert//===----------------------------------------------------------------------===// 346035553Spatrick// 446035553Spatrick// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 546035553Spatrick// See https://llvm.org/LICENSE.txt for license information. 646035553Spatrick// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 746035553Spatrick// 846035553Spatrick//===----------------------------------------------------------------------===// 946035553Spatrick 1046035553Spatrick#ifndef _LIBCPP_CFLOAT 1146035553Spatrick#define _LIBCPP_CFLOAT 1246035553Spatrick 1346035553Spatrick/* 1446035553Spatrick cfloat synopsis 1546035553Spatrick 1646035553SpatrickMacros: 1746035553Spatrick 1846035553Spatrick FLT_ROUNDS 1946035553Spatrick FLT_EVAL_METHOD // C99 2046035553Spatrick FLT_RADIX 2146035553Spatrick 2246035553Spatrick FLT_HAS_SUBNORM // C11 2346035553Spatrick DBL_HAS_SUBNORM // C11 2446035553Spatrick LDBL_HAS_SUBNORM // C11 2546035553Spatrick 2646035553Spatrick FLT_MANT_DIG 2746035553Spatrick DBL_MANT_DIG 2846035553Spatrick LDBL_MANT_DIG 2946035553Spatrick 3046035553Spatrick DECIMAL_DIG // C99 3146035553Spatrick FLT_DECIMAL_DIG // C11 3246035553Spatrick DBL_DECIMAL_DIG // C11 3346035553Spatrick LDBL_DECIMAL_DIG // C11 3446035553Spatrick 3546035553Spatrick FLT_DIG 3646035553Spatrick DBL_DIG 3746035553Spatrick LDBL_DIG 3846035553Spatrick 3946035553Spatrick FLT_MIN_EXP 4046035553Spatrick DBL_MIN_EXP 4146035553Spatrick LDBL_MIN_EXP 4246035553Spatrick 4346035553Spatrick FLT_MIN_10_EXP 4446035553Spatrick DBL_MIN_10_EXP 4546035553Spatrick LDBL_MIN_10_EXP 4646035553Spatrick 4746035553Spatrick FLT_MAX_EXP 4846035553Spatrick DBL_MAX_EXP 4946035553Spatrick LDBL_MAX_EXP 5046035553Spatrick 5146035553Spatrick FLT_MAX_10_EXP 5246035553Spatrick DBL_MAX_10_EXP 5346035553Spatrick LDBL_MAX_10_EXP 5446035553Spatrick 5546035553Spatrick FLT_MAX 5646035553Spatrick DBL_MAX 5746035553Spatrick LDBL_MAX 5846035553Spatrick 5946035553Spatrick FLT_EPSILON 6046035553Spatrick DBL_EPSILON 6146035553Spatrick LDBL_EPSILON 6246035553Spatrick 6346035553Spatrick FLT_MIN 6446035553Spatrick DBL_MIN 6546035553Spatrick LDBL_MIN 6646035553Spatrick 6746035553Spatrick FLT_TRUE_MIN // C11 6846035553Spatrick DBL_TRUE_MIN // C11 6946035553Spatrick LDBL_TRUE_MIN // C11 7046035553Spatrick*/ 7146035553Spatrick 72*4bdff4beSrobert#include <__assert> // all public C++ headers provide the assertion handler 7346035553Spatrick#include <__config> 74*4bdff4beSrobert 7546035553Spatrick#include <float.h> 7646035553Spatrick 77*4bdff4beSrobert#ifndef _LIBCPP_FLOAT_H 78*4bdff4beSrobert# error <cfloat> tried including <float.h> but didn't find libc++'s <float.h> header. \ 79*4bdff4beSrobert This usually means that your header search paths are not configured properly. \ 80*4bdff4beSrobert The header search paths should contain the C++ Standard Library headers before \ 81*4bdff4beSrobert any C Standard Library, and you are probably using compiler flags that make that \ 82*4bdff4beSrobert not be the case. 83*4bdff4beSrobert#endif 84*4bdff4beSrobert 8546035553Spatrick#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 8646035553Spatrick# pragma GCC system_header 8746035553Spatrick#endif 8846035553Spatrick 8946035553Spatrick#endif // _LIBCPP_CFLOAT 90