xref: /freebsd/contrib/llvm-project/libcxx/include/float.h (revision cb14a3fe5122c879eae1fb480ed7ce82a699ddb6)
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_FLOAT_H
110b57cec5SDimitry Andric #define _LIBCPP_FLOAT_H
120b57cec5SDimitry Andric 
130b57cec5SDimitry Andric /*
140b57cec5SDimitry Andric     float.h synopsis
150b57cec5SDimitry Andric 
160b57cec5SDimitry Andric Macros:
170b57cec5SDimitry Andric 
180b57cec5SDimitry Andric     FLT_ROUNDS
190b57cec5SDimitry Andric     FLT_EVAL_METHOD     // C99
200b57cec5SDimitry Andric     FLT_RADIX
210b57cec5SDimitry Andric 
220b57cec5SDimitry Andric     FLT_MANT_DIG
230b57cec5SDimitry Andric     DBL_MANT_DIG
240b57cec5SDimitry Andric     LDBL_MANT_DIG
250b57cec5SDimitry Andric 
260b57cec5SDimitry Andric     FLT_HAS_SUBNORM     // C11
270b57cec5SDimitry Andric     DBL_HAS_SUBNORM     // C11
280b57cec5SDimitry Andric     LDBL_HAS_SUBNORM    // C11
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 
730b57cec5SDimitry Andric #include <__config>
740b57cec5SDimitry Andric 
750b57cec5SDimitry Andric #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
760b57cec5SDimitry Andric #  pragma GCC system_header
770b57cec5SDimitry Andric #endif
780b57cec5SDimitry Andric 
79*bdd1243dSDimitry Andric #if __has_include_next(<float.h>)
800b57cec5SDimitry Andric #  include_next <float.h>
81*bdd1243dSDimitry Andric #endif
820b57cec5SDimitry Andric 
830b57cec5SDimitry Andric #ifdef __cplusplus
840b57cec5SDimitry Andric 
850b57cec5SDimitry Andric #  ifndef FLT_EVAL_METHOD
860b57cec5SDimitry Andric #    define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
870b57cec5SDimitry Andric #  endif
880b57cec5SDimitry Andric 
890b57cec5SDimitry Andric #  ifndef DECIMAL_DIG
900b57cec5SDimitry Andric #    define DECIMAL_DIG __DECIMAL_DIG__
910b57cec5SDimitry Andric #  endif
920b57cec5SDimitry Andric 
930b57cec5SDimitry Andric #endif // __cplusplus
940b57cec5SDimitry Andric 
950b57cec5SDimitry Andric #endif // _LIBCPP_FLOAT_H
96