10b57cec5SDimitry Andric// -*- C++ -*- 2349cc55cSDimitry Andric//===----------------------------------------------------------------------===// 30b57cec5SDimitry Andric// 40b57cec5SDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 50b57cec5SDimitry Andric// See https://llvm.org/LICENSE.txt for license information. 60b57cec5SDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 70b57cec5SDimitry Andric// 80b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 90b57cec5SDimitry Andric 100b57cec5SDimitry Andric#ifndef _LIBCPP_CFLOAT 110b57cec5SDimitry Andric#define _LIBCPP_CFLOAT 120b57cec5SDimitry Andric 130b57cec5SDimitry Andric/* 140b57cec5SDimitry Andric cfloat synopsis 150b57cec5SDimitry Andric 160b57cec5SDimitry AndricMacros: 170b57cec5SDimitry Andric 180b57cec5SDimitry Andric FLT_ROUNDS 190b57cec5SDimitry Andric FLT_EVAL_METHOD // C99 200b57cec5SDimitry Andric FLT_RADIX 210b57cec5SDimitry Andric 220b57cec5SDimitry Andric FLT_HAS_SUBNORM // C11 230b57cec5SDimitry Andric DBL_HAS_SUBNORM // C11 240b57cec5SDimitry Andric LDBL_HAS_SUBNORM // C11 250b57cec5SDimitry Andric 260b57cec5SDimitry Andric FLT_MANT_DIG 270b57cec5SDimitry Andric DBL_MANT_DIG 280b57cec5SDimitry Andric LDBL_MANT_DIG 290b57cec5SDimitry Andric 300b57cec5SDimitry Andric DECIMAL_DIG // C99 310b57cec5SDimitry Andric FLT_DECIMAL_DIG // C11 320b57cec5SDimitry Andric DBL_DECIMAL_DIG // C11 330b57cec5SDimitry Andric LDBL_DECIMAL_DIG // C11 340b57cec5SDimitry Andric 350b57cec5SDimitry Andric FLT_DIG 360b57cec5SDimitry Andric DBL_DIG 370b57cec5SDimitry Andric LDBL_DIG 380b57cec5SDimitry Andric 390b57cec5SDimitry Andric FLT_MIN_EXP 400b57cec5SDimitry Andric DBL_MIN_EXP 410b57cec5SDimitry Andric LDBL_MIN_EXP 420b57cec5SDimitry Andric 430b57cec5SDimitry Andric FLT_MIN_10_EXP 440b57cec5SDimitry Andric DBL_MIN_10_EXP 450b57cec5SDimitry Andric LDBL_MIN_10_EXP 460b57cec5SDimitry Andric 470b57cec5SDimitry Andric FLT_MAX_EXP 480b57cec5SDimitry Andric DBL_MAX_EXP 490b57cec5SDimitry Andric LDBL_MAX_EXP 500b57cec5SDimitry Andric 510b57cec5SDimitry Andric FLT_MAX_10_EXP 520b57cec5SDimitry Andric DBL_MAX_10_EXP 530b57cec5SDimitry Andric LDBL_MAX_10_EXP 540b57cec5SDimitry Andric 550b57cec5SDimitry Andric FLT_MAX 560b57cec5SDimitry Andric DBL_MAX 570b57cec5SDimitry Andric LDBL_MAX 580b57cec5SDimitry Andric 590b57cec5SDimitry Andric FLT_EPSILON 600b57cec5SDimitry Andric DBL_EPSILON 610b57cec5SDimitry Andric LDBL_EPSILON 620b57cec5SDimitry Andric 630b57cec5SDimitry Andric FLT_MIN 640b57cec5SDimitry Andric DBL_MIN 650b57cec5SDimitry Andric LDBL_MIN 660b57cec5SDimitry Andric 670b57cec5SDimitry Andric FLT_TRUE_MIN // C11 680b57cec5SDimitry Andric DBL_TRUE_MIN // C11 690b57cec5SDimitry Andric LDBL_TRUE_MIN // C11 700b57cec5SDimitry Andric*/ 710b57cec5SDimitry Andric 720b57cec5SDimitry Andric#include <__config> 73*bdd1243dSDimitry Andric 740b57cec5SDimitry Andric#include <float.h> 750b57cec5SDimitry Andric 76*bdd1243dSDimitry Andric#ifndef _LIBCPP_FLOAT_H 77*bdd1243dSDimitry Andric# error <cfloat> tried including <float.h> but didn't find libc++'s <float.h> header. \ 78*bdd1243dSDimitry Andric This usually means that your header search paths are not configured properly. \ 79*bdd1243dSDimitry Andric The header search paths should contain the C++ Standard Library headers before \ 80*bdd1243dSDimitry Andric any C Standard Library, and you are probably using compiler flags that make that \ 81*bdd1243dSDimitry Andric not be the case. 82*bdd1243dSDimitry Andric#endif 83*bdd1243dSDimitry Andric 840b57cec5SDimitry Andric#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 850b57cec5SDimitry Andric# pragma GCC system_header 860b57cec5SDimitry Andric#endif 870b57cec5SDimitry Andric 880b57cec5SDimitry Andric#endif // _LIBCPP_CFLOAT 89