xref: /openbsd-src/gnu/llvm/libcxx/include/cfloat (revision 4bdff4bed0e3d54e55670334c7d0077db4170f86)
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