1e78f53d1SNikolas Klauser// -*- C++ -*- 2e78f53d1SNikolas Klauser//===----------------------------------------------------------------------===// 3e78f53d1SNikolas Klauser// 4e78f53d1SNikolas Klauser// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5e78f53d1SNikolas Klauser// See https://llvm.org/LICENSE.txt for license information. 6e78f53d1SNikolas Klauser// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7e78f53d1SNikolas Klauser// 8e78f53d1SNikolas Klauser//===----------------------------------------------------------------------===// 9e78f53d1SNikolas Klauser 10*ce777190SNikolas Klauser#ifndef _LIBCPP___CXX03_CFLOAT 11*ce777190SNikolas Klauser#define _LIBCPP___CXX03_CFLOAT 12e78f53d1SNikolas Klauser 13e78f53d1SNikolas Klauser/* 14e78f53d1SNikolas Klauser cfloat synopsis 15e78f53d1SNikolas Klauser 16e78f53d1SNikolas KlauserMacros: 17e78f53d1SNikolas Klauser 18e78f53d1SNikolas Klauser FLT_ROUNDS 19e78f53d1SNikolas Klauser FLT_EVAL_METHOD // C99 20e78f53d1SNikolas Klauser FLT_RADIX 21e78f53d1SNikolas Klauser 22e78f53d1SNikolas Klauser FLT_HAS_SUBNORM // C11 23e78f53d1SNikolas Klauser DBL_HAS_SUBNORM // C11 24e78f53d1SNikolas Klauser LDBL_HAS_SUBNORM // C11 25e78f53d1SNikolas Klauser 26e78f53d1SNikolas Klauser FLT_MANT_DIG 27e78f53d1SNikolas Klauser DBL_MANT_DIG 28e78f53d1SNikolas Klauser LDBL_MANT_DIG 29e78f53d1SNikolas Klauser 30e78f53d1SNikolas Klauser DECIMAL_DIG // C99 31e78f53d1SNikolas Klauser FLT_DECIMAL_DIG // C11 32e78f53d1SNikolas Klauser DBL_DECIMAL_DIG // C11 33e78f53d1SNikolas Klauser LDBL_DECIMAL_DIG // C11 34e78f53d1SNikolas Klauser 35e78f53d1SNikolas Klauser FLT_DIG 36e78f53d1SNikolas Klauser DBL_DIG 37e78f53d1SNikolas Klauser LDBL_DIG 38e78f53d1SNikolas Klauser 39e78f53d1SNikolas Klauser FLT_MIN_EXP 40e78f53d1SNikolas Klauser DBL_MIN_EXP 41e78f53d1SNikolas Klauser LDBL_MIN_EXP 42e78f53d1SNikolas Klauser 43e78f53d1SNikolas Klauser FLT_MIN_10_EXP 44e78f53d1SNikolas Klauser DBL_MIN_10_EXP 45e78f53d1SNikolas Klauser LDBL_MIN_10_EXP 46e78f53d1SNikolas Klauser 47e78f53d1SNikolas Klauser FLT_MAX_EXP 48e78f53d1SNikolas Klauser DBL_MAX_EXP 49e78f53d1SNikolas Klauser LDBL_MAX_EXP 50e78f53d1SNikolas Klauser 51e78f53d1SNikolas Klauser FLT_MAX_10_EXP 52e78f53d1SNikolas Klauser DBL_MAX_10_EXP 53e78f53d1SNikolas Klauser LDBL_MAX_10_EXP 54e78f53d1SNikolas Klauser 55e78f53d1SNikolas Klauser FLT_MAX 56e78f53d1SNikolas Klauser DBL_MAX 57e78f53d1SNikolas Klauser LDBL_MAX 58e78f53d1SNikolas Klauser 59e78f53d1SNikolas Klauser FLT_EPSILON 60e78f53d1SNikolas Klauser DBL_EPSILON 61e78f53d1SNikolas Klauser LDBL_EPSILON 62e78f53d1SNikolas Klauser 63e78f53d1SNikolas Klauser FLT_MIN 64e78f53d1SNikolas Klauser DBL_MIN 65e78f53d1SNikolas Klauser LDBL_MIN 66e78f53d1SNikolas Klauser 67e78f53d1SNikolas Klauser FLT_TRUE_MIN // C11 68e78f53d1SNikolas Klauser DBL_TRUE_MIN // C11 69e78f53d1SNikolas Klauser LDBL_TRUE_MIN // C11 70e78f53d1SNikolas Klauser*/ 71e78f53d1SNikolas Klauser 7273fbae83SNikolas Klauser#include <__cxx03/__config> 73e78f53d1SNikolas Klauser 7473fbae83SNikolas Klauser#include <__cxx03/float.h> 75e78f53d1SNikolas Klauser 76*ce777190SNikolas Klauser#ifndef _LIBCPP___CXX03_FLOAT_H 77e78f53d1SNikolas Klauser# error <cfloat> tried including <float.h> but didn't find libc++'s <float.h> header. \ 78e78f53d1SNikolas Klauser This usually means that your header search paths are not configured properly. \ 79e78f53d1SNikolas Klauser The header search paths should contain the C++ Standard Library headers before \ 80e78f53d1SNikolas Klauser any C Standard Library, and you are probably using compiler flags that make that \ 81e78f53d1SNikolas Klauser not be the case. 82e78f53d1SNikolas Klauser#endif 83e78f53d1SNikolas Klauser 84e78f53d1SNikolas Klauser#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 85e78f53d1SNikolas Klauser# pragma GCC system_header 86e78f53d1SNikolas Klauser#endif 87e78f53d1SNikolas Klauser 88*ce777190SNikolas Klauser#endif // _LIBCPP___CXX03_CFLOAT 89