Path: blob/main/system/lib/llvm-libc/include/llvm-libc-macros/float-macros.h
6172 views
//===-- Definition of macros from float.h ---------------------------------===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLVM_LIBC_MACROS_FLOAT_MACROS_H9#define LLVM_LIBC_MACROS_FLOAT_MACROS_H1011#ifndef FLT_RADIX12#define FLT_RADIX __FLT_RADIX__13#endif // FLT_RADIX1415#ifndef FLT_EVAL_METHOD16#define FLT_EVAL_METHOD __FLT_EVAL_METHOD__17#endif // FLT_EVAL_METHOD1819#ifndef FLT_ROUNDS20#if __has_builtin(__builtin_flt_rounds)21#define FLT_ROUNDS __builtin_flt_rounds()22#else23#define FLT_ROUNDS 124#endif25#endif // FLT_ROUNDS2627#ifndef FLT_DECIMAL_DIG28#define FLT_DECIMAL_DIG __FLT_DECIMAL_DIG__29#endif // FLT_DECIMAL_DIG3031#ifndef DBL_DECIMAL_DIG32#define DBL_DECIMAL_DIG __DBL_DECIMAL_DIG__33#endif // DBL_DECIMAL_DIG3435#ifndef LDBL_DECIMAL_DIG36#define LDBL_DECIMAL_DIG __LDBL_DECIMAL_DIG__37#endif // LDBL_DECIMAL_DIG3839#ifndef DECIMAL_DIG40#define DECIMAL_DIG __DECIMAL_DIG__41#endif // DECIMAL_DIG4243#ifndef FLT_DIG44#define FLT_DIG __FLT_DIG__45#endif // FLT_DIG4647#ifndef DBL_DIG48#define DBL_DIG __DBL_DIG__49#endif // DBL_DIG5051#ifndef LDBL_DIG52#define LDBL_DIG __LDBL_DIG__53#endif // LDBL_DIG5455#ifndef FLT_MANT_DIG56#define FLT_MANT_DIG __FLT_MANT_DIG__57#endif // FLT_MANT_DIG5859#ifndef DBL_MANT_DIG60#define DBL_MANT_DIG __DBL_MANT_DIG__61#endif // DBL_MANT_DIG6263#ifndef LDBL_MANT_DIG64#define LDBL_MANT_DIG __LDBL_MANT_DIG__65#endif // LDBL_MANT_DIG6667#ifndef FLT_MIN68#define FLT_MIN __FLT_MIN__69#endif // FLT_MIN7071#ifndef DBL_MIN72#define DBL_MIN __DBL_MIN__73#endif // DBL_MIN7475#ifndef LDBL_MIN76#define LDBL_MIN __LDBL_MIN__77#endif // LDBL_MIN7879#ifndef FLT_MAX80#define FLT_MAX __FLT_MAX__81#endif // FLT_MAX8283#ifndef DBL_MAX84#define DBL_MAX __DBL_MAX__85#endif // DBL_MAX8687#ifndef LDBL_MAX88#define LDBL_MAX __LDBL_MAX__89#endif // LDBL_MAX9091#ifndef FLT_TRUE_MIN92#define FLT_TRUE_MIN __FLT_DENORM_MIN__93#endif // FLT_TRUE_MIN9495#ifndef DBL_TRUE_MIN96#define DBL_TRUE_MIN __DBL_DENORM_MIN__97#endif // DBL_TRUE_MIN9899#ifndef LDBL_TRUE_MIN100#define LDBL_TRUE_MIN __LDBL_DENORM_MIN__101#endif // LDBL_TRUE_MIN102103#ifndef FLT_EPSILON104#define FLT_EPSILON __FLT_EPSILON__105#endif // FLT_EPSILON106107#ifndef DBL_EPSILON108#define DBL_EPSILON __DBL_EPSILON__109#endif // DBL_EPSILON110111#ifndef LDBL_EPSILON112#define LDBL_EPSILON __LDBL_EPSILON__113#endif // LDBL_EPSILON114115#ifndef FLT_MIN_EXP116#define FLT_MIN_EXP __FLT_MIN_EXP__117#endif // FLT_MIN_EXP118119#ifndef DBL_MIN_EXP120#define DBL_MIN_EXP __DBL_MIN_EXP__121#endif // DBL_MIN_EXP122123#ifndef LDBL_MIN_EXP124#define LDBL_MIN_EXP __LDBL_MIN_EXP__125#endif // LDBL_MIN_EXP126127#ifndef FLT_MIN_10_EXP128#define FLT_MIN_10_EXP __FLT_MIN_10_EXP__129#endif // FLT_MIN_10_EXP130131#ifndef DBL_MIN_10_EXP132#define DBL_MIN_10_EXP __DBL_MIN_10_EXP__133#endif // DBL_MIN_10_EXP134135#ifndef LDBL_MIN_10_EXP136#define LDBL_MIN_10_EXP __LDBL_MIN_10_EXP__137#endif // LDBL_MIN_10_EXP138139#ifndef FLT_MAX_EXP140#define FLT_MAX_EXP __FLT_MAX_EXP__141#endif // FLT_MAX_EXP142143#ifndef DBL_MAX_EXP144#define DBL_MAX_EXP __DBL_MAX_EXP__145#endif // DBL_MAX_EXP146147#ifndef LDBL_MAX_EXP148#define LDBL_MAX_EXP __LDBL_MAX_EXP__149#endif // LDBL_MAX_EXP150151#ifndef FLT_MAX_10_EXP152#define FLT_MAX_10_EXP __FLT_MAX_10_EXP__153#endif // FLT_MAX_10_EXP154155#ifndef DBL_MAX_10_EXP156#define DBL_MAX_10_EXP __DBL_MAX_10_EXP__157#endif // DBL_MAX_10_EXP158159#ifndef LDBL_MAX_10_EXP160#define LDBL_MAX_10_EXP __LDBL_MAX_10_EXP__161#endif // LDBL_MAX_10_EXP162163#ifndef FLT_HAS_SUBNORM164#define FLT_HAS_SUBNORM __FLT_HAS_DENORM__165#endif // FLT_HAS_SUBNORM166167#ifndef DBL_HAS_SUBNORM168#define DBL_HAS_SUBNORM __DBL_HAS_DENORM__169#endif // DBL_HAS_SUBNORM170171#ifndef LDBL_HAS_SUBNORM172#define LDBL_HAS_SUBNORM __LDBL_HAS_DENORM__173#endif // LDBL_HAS_SUBNORM174175// TODO: Add FLT16 and FLT128 constants.176177#endif // LLVM_LIBC_MACROS_FLOAT_MACROS_H178179180