1*71db0c75SAndroid Build Coastguard Worker //===-- Definition of macros from float.h ---------------------------------===// 2*71db0c75SAndroid Build Coastguard Worker // 3*71db0c75SAndroid Build Coastguard Worker // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*71db0c75SAndroid Build Coastguard Worker // See https://llvm.org/LICENSE.txt for license information. 5*71db0c75SAndroid Build Coastguard Worker // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*71db0c75SAndroid Build Coastguard Worker // 7*71db0c75SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===// 8*71db0c75SAndroid Build Coastguard Worker 9*71db0c75SAndroid Build Coastguard Worker #ifndef LLVM_LIBC_MACROS_FLOAT_MACROS_H 10*71db0c75SAndroid Build Coastguard Worker #define LLVM_LIBC_MACROS_FLOAT_MACROS_H 11*71db0c75SAndroid Build Coastguard Worker 12*71db0c75SAndroid Build Coastguard Worker #ifndef FLT_RADIX 13*71db0c75SAndroid Build Coastguard Worker #define FLT_RADIX __FLT_RADIX__ 14*71db0c75SAndroid Build Coastguard Worker #endif // FLT_RADIX 15*71db0c75SAndroid Build Coastguard Worker 16*71db0c75SAndroid Build Coastguard Worker #ifndef FLT_EVAL_METHOD 17*71db0c75SAndroid Build Coastguard Worker #define FLT_EVAL_METHOD __FLT_EVAL_METHOD__ 18*71db0c75SAndroid Build Coastguard Worker #endif // FLT_EVAL_METHOD 19*71db0c75SAndroid Build Coastguard Worker 20*71db0c75SAndroid Build Coastguard Worker #ifndef FLT_ROUNDS 21*71db0c75SAndroid Build Coastguard Worker #if __has_builtin(__builtin_flt_rounds) 22*71db0c75SAndroid Build Coastguard Worker #define FLT_ROUNDS __builtin_flt_rounds() 23*71db0c75SAndroid Build Coastguard Worker #else 24*71db0c75SAndroid Build Coastguard Worker #define FLT_ROUNDS 1 25*71db0c75SAndroid Build Coastguard Worker #endif 26*71db0c75SAndroid Build Coastguard Worker #endif // FLT_ROUNDS 27*71db0c75SAndroid Build Coastguard Worker 28*71db0c75SAndroid Build Coastguard Worker #ifndef FLT_DECIMAL_DIG 29*71db0c75SAndroid Build Coastguard Worker #define FLT_DECIMAL_DIG __FLT_DECIMAL_DIG__ 30*71db0c75SAndroid Build Coastguard Worker #endif // FLT_DECIMAL_DIG 31*71db0c75SAndroid Build Coastguard Worker 32*71db0c75SAndroid Build Coastguard Worker #ifndef DBL_DECIMAL_DIG 33*71db0c75SAndroid Build Coastguard Worker #define DBL_DECIMAL_DIG __DBL_DECIMAL_DIG__ 34*71db0c75SAndroid Build Coastguard Worker #endif // DBL_DECIMAL_DIG 35*71db0c75SAndroid Build Coastguard Worker 36*71db0c75SAndroid Build Coastguard Worker #ifndef LDBL_DECIMAL_DIG 37*71db0c75SAndroid Build Coastguard Worker #define LDBL_DECIMAL_DIG __LDBL_DECIMAL_DIG__ 38*71db0c75SAndroid Build Coastguard Worker #endif // LDBL_DECIMAL_DIG 39*71db0c75SAndroid Build Coastguard Worker 40*71db0c75SAndroid Build Coastguard Worker #ifndef DECIMAL_DIG 41*71db0c75SAndroid Build Coastguard Worker #define DECIMAL_DIG __DECIMAL_DIG__ 42*71db0c75SAndroid Build Coastguard Worker #endif // DECIMAL_DIG 43*71db0c75SAndroid Build Coastguard Worker 44*71db0c75SAndroid Build Coastguard Worker #ifndef FLT_DIG 45*71db0c75SAndroid Build Coastguard Worker #define FLT_DIG __FLT_DIG__ 46*71db0c75SAndroid Build Coastguard Worker #endif // FLT_DIG 47*71db0c75SAndroid Build Coastguard Worker 48*71db0c75SAndroid Build Coastguard Worker #ifndef DBL_DIG 49*71db0c75SAndroid Build Coastguard Worker #define DBL_DIG __DBL_DIG__ 50*71db0c75SAndroid Build Coastguard Worker #endif // DBL_DIG 51*71db0c75SAndroid Build Coastguard Worker 52*71db0c75SAndroid Build Coastguard Worker #ifndef LDBL_DIG 53*71db0c75SAndroid Build Coastguard Worker #define LDBL_DIG __LDBL_DIG__ 54*71db0c75SAndroid Build Coastguard Worker #endif // LDBL_DIG 55*71db0c75SAndroid Build Coastguard Worker 56*71db0c75SAndroid Build Coastguard Worker #ifndef FLT_MANT_DIG 57*71db0c75SAndroid Build Coastguard Worker #define FLT_MANT_DIG __FLT_MANT_DIG__ 58*71db0c75SAndroid Build Coastguard Worker #endif // FLT_MANT_DIG 59*71db0c75SAndroid Build Coastguard Worker 60*71db0c75SAndroid Build Coastguard Worker #ifndef DBL_MANT_DIG 61*71db0c75SAndroid Build Coastguard Worker #define DBL_MANT_DIG __DBL_MANT_DIG__ 62*71db0c75SAndroid Build Coastguard Worker #endif // DBL_MANT_DIG 63*71db0c75SAndroid Build Coastguard Worker 64*71db0c75SAndroid Build Coastguard Worker #ifndef LDBL_MANT_DIG 65*71db0c75SAndroid Build Coastguard Worker #define LDBL_MANT_DIG __LDBL_MANT_DIG__ 66*71db0c75SAndroid Build Coastguard Worker #endif // LDBL_MANT_DIG 67*71db0c75SAndroid Build Coastguard Worker 68*71db0c75SAndroid Build Coastguard Worker #ifndef FLT_MIN 69*71db0c75SAndroid Build Coastguard Worker #define FLT_MIN __FLT_MIN__ 70*71db0c75SAndroid Build Coastguard Worker #endif // FLT_MIN 71*71db0c75SAndroid Build Coastguard Worker 72*71db0c75SAndroid Build Coastguard Worker #ifndef DBL_MIN 73*71db0c75SAndroid Build Coastguard Worker #define DBL_MIN __DBL_MIN__ 74*71db0c75SAndroid Build Coastguard Worker #endif // DBL_MIN 75*71db0c75SAndroid Build Coastguard Worker 76*71db0c75SAndroid Build Coastguard Worker #ifndef LDBL_MIN 77*71db0c75SAndroid Build Coastguard Worker #define LDBL_MIN __LDBL_MIN__ 78*71db0c75SAndroid Build Coastguard Worker #endif // LDBL_MIN 79*71db0c75SAndroid Build Coastguard Worker 80*71db0c75SAndroid Build Coastguard Worker #ifndef FLT_MAX 81*71db0c75SAndroid Build Coastguard Worker #define FLT_MAX __FLT_MAX__ 82*71db0c75SAndroid Build Coastguard Worker #endif // FLT_MAX 83*71db0c75SAndroid Build Coastguard Worker 84*71db0c75SAndroid Build Coastguard Worker #ifndef DBL_MAX 85*71db0c75SAndroid Build Coastguard Worker #define DBL_MAX __DBL_MAX__ 86*71db0c75SAndroid Build Coastguard Worker #endif // DBL_MAX 87*71db0c75SAndroid Build Coastguard Worker 88*71db0c75SAndroid Build Coastguard Worker #ifndef LDBL_MAX 89*71db0c75SAndroid Build Coastguard Worker #define LDBL_MAX __LDBL_MAX__ 90*71db0c75SAndroid Build Coastguard Worker #endif // LDBL_MAX 91*71db0c75SAndroid Build Coastguard Worker 92*71db0c75SAndroid Build Coastguard Worker #ifndef FLT_TRUE_MIN 93*71db0c75SAndroid Build Coastguard Worker #define FLT_TRUE_MIN __FLT_DENORM_MIN__ 94*71db0c75SAndroid Build Coastguard Worker #endif // FLT_TRUE_MIN 95*71db0c75SAndroid Build Coastguard Worker 96*71db0c75SAndroid Build Coastguard Worker #ifndef DBL_TRUE_MIN 97*71db0c75SAndroid Build Coastguard Worker #define DBL_TRUE_MIN __DBL_DENORM_MIN__ 98*71db0c75SAndroid Build Coastguard Worker #endif // DBL_TRUE_MIN 99*71db0c75SAndroid Build Coastguard Worker 100*71db0c75SAndroid Build Coastguard Worker #ifndef LDBL_TRUE_MIN 101*71db0c75SAndroid Build Coastguard Worker #define LDBL_TRUE_MIN __LDBL_DENORM_MIN__ 102*71db0c75SAndroid Build Coastguard Worker #endif // LDBL_TRUE_MIN 103*71db0c75SAndroid Build Coastguard Worker 104*71db0c75SAndroid Build Coastguard Worker #ifndef FLT_EPSILON 105*71db0c75SAndroid Build Coastguard Worker #define FLT_EPSILON __FLT_EPSILON__ 106*71db0c75SAndroid Build Coastguard Worker #endif // FLT_EPSILON 107*71db0c75SAndroid Build Coastguard Worker 108*71db0c75SAndroid Build Coastguard Worker #ifndef DBL_EPSILON 109*71db0c75SAndroid Build Coastguard Worker #define DBL_EPSILON __DBL_EPSILON__ 110*71db0c75SAndroid Build Coastguard Worker #endif // DBL_EPSILON 111*71db0c75SAndroid Build Coastguard Worker 112*71db0c75SAndroid Build Coastguard Worker #ifndef LDBL_EPSILON 113*71db0c75SAndroid Build Coastguard Worker #define LDBL_EPSILON __LDBL_EPSILON__ 114*71db0c75SAndroid Build Coastguard Worker #endif // LDBL_EPSILON 115*71db0c75SAndroid Build Coastguard Worker 116*71db0c75SAndroid Build Coastguard Worker #ifndef FLT_MIN_EXP 117*71db0c75SAndroid Build Coastguard Worker #define FLT_MIN_EXP __FLT_MIN_EXP__ 118*71db0c75SAndroid Build Coastguard Worker #endif // FLT_MIN_EXP 119*71db0c75SAndroid Build Coastguard Worker 120*71db0c75SAndroid Build Coastguard Worker #ifndef DBL_MIN_EXP 121*71db0c75SAndroid Build Coastguard Worker #define DBL_MIN_EXP __DBL_MIN_EXP__ 122*71db0c75SAndroid Build Coastguard Worker #endif // DBL_MIN_EXP 123*71db0c75SAndroid Build Coastguard Worker 124*71db0c75SAndroid Build Coastguard Worker #ifndef LDBL_MIN_EXP 125*71db0c75SAndroid Build Coastguard Worker #define LDBL_MIN_EXP __LDBL_MIN_EXP__ 126*71db0c75SAndroid Build Coastguard Worker #endif // LDBL_MIN_EXP 127*71db0c75SAndroid Build Coastguard Worker 128*71db0c75SAndroid Build Coastguard Worker #ifndef FLT_MIN_10_EXP 129*71db0c75SAndroid Build Coastguard Worker #define FLT_MIN_10_EXP __FLT_MIN_10_EXP__ 130*71db0c75SAndroid Build Coastguard Worker #endif // FLT_MIN_10_EXP 131*71db0c75SAndroid Build Coastguard Worker 132*71db0c75SAndroid Build Coastguard Worker #ifndef DBL_MIN_10_EXP 133*71db0c75SAndroid Build Coastguard Worker #define DBL_MIN_10_EXP __DBL_MIN_10_EXP__ 134*71db0c75SAndroid Build Coastguard Worker #endif // DBL_MIN_10_EXP 135*71db0c75SAndroid Build Coastguard Worker 136*71db0c75SAndroid Build Coastguard Worker #ifndef LDBL_MIN_10_EXP 137*71db0c75SAndroid Build Coastguard Worker #define LDBL_MIN_10_EXP __LDBL_MIN_10_EXP__ 138*71db0c75SAndroid Build Coastguard Worker #endif // LDBL_MIN_10_EXP 139*71db0c75SAndroid Build Coastguard Worker 140*71db0c75SAndroid Build Coastguard Worker #ifndef FLT_MAX_EXP 141*71db0c75SAndroid Build Coastguard Worker #define FLT_MAX_EXP __FLT_MAX_EXP__ 142*71db0c75SAndroid Build Coastguard Worker #endif // FLT_MAX_EXP 143*71db0c75SAndroid Build Coastguard Worker 144*71db0c75SAndroid Build Coastguard Worker #ifndef DBL_MAX_EXP 145*71db0c75SAndroid Build Coastguard Worker #define DBL_MAX_EXP __DBL_MAX_EXP__ 146*71db0c75SAndroid Build Coastguard Worker #endif // DBL_MAX_EXP 147*71db0c75SAndroid Build Coastguard Worker 148*71db0c75SAndroid Build Coastguard Worker #ifndef LDBL_MAX_EXP 149*71db0c75SAndroid Build Coastguard Worker #define LDBL_MAX_EXP __LDBL_MAX_EXP__ 150*71db0c75SAndroid Build Coastguard Worker #endif // LDBL_MAX_EXP 151*71db0c75SAndroid Build Coastguard Worker 152*71db0c75SAndroid Build Coastguard Worker #ifndef FLT_MAX_10_EXP 153*71db0c75SAndroid Build Coastguard Worker #define FLT_MAX_10_EXP __FLT_MAX_10_EXP__ 154*71db0c75SAndroid Build Coastguard Worker #endif // FLT_MAX_10_EXP 155*71db0c75SAndroid Build Coastguard Worker 156*71db0c75SAndroid Build Coastguard Worker #ifndef DBL_MAX_10_EXP 157*71db0c75SAndroid Build Coastguard Worker #define DBL_MAX_10_EXP __DBL_MAX_10_EXP__ 158*71db0c75SAndroid Build Coastguard Worker #endif // DBL_MAX_10_EXP 159*71db0c75SAndroid Build Coastguard Worker 160*71db0c75SAndroid Build Coastguard Worker #ifndef LDBL_MAX_10_EXP 161*71db0c75SAndroid Build Coastguard Worker #define LDBL_MAX_10_EXP __LDBL_MAX_10_EXP__ 162*71db0c75SAndroid Build Coastguard Worker #endif // LDBL_MAX_10_EXP 163*71db0c75SAndroid Build Coastguard Worker 164*71db0c75SAndroid Build Coastguard Worker #ifndef FLT_HAS_SUBNORM 165*71db0c75SAndroid Build Coastguard Worker #define FLT_HAS_SUBNORM __FLT_HAS_DENORM__ 166*71db0c75SAndroid Build Coastguard Worker #endif // FLT_HAS_SUBNORM 167*71db0c75SAndroid Build Coastguard Worker 168*71db0c75SAndroid Build Coastguard Worker #ifndef DBL_HAS_SUBNORM 169*71db0c75SAndroid Build Coastguard Worker #define DBL_HAS_SUBNORM __DBL_HAS_DENORM__ 170*71db0c75SAndroid Build Coastguard Worker #endif // DBL_HAS_SUBNORM 171*71db0c75SAndroid Build Coastguard Worker 172*71db0c75SAndroid Build Coastguard Worker #ifndef LDBL_HAS_SUBNORM 173*71db0c75SAndroid Build Coastguard Worker #define LDBL_HAS_SUBNORM __LDBL_HAS_DENORM__ 174*71db0c75SAndroid Build Coastguard Worker #endif // LDBL_HAS_SUBNORM 175*71db0c75SAndroid Build Coastguard Worker 176*71db0c75SAndroid Build Coastguard Worker // TODO: Add FLT16 and FLT128 constants. 177*71db0c75SAndroid Build Coastguard Worker 178*71db0c75SAndroid Build Coastguard Worker #endif // LLVM_LIBC_MACROS_FLOAT_MACROS_H 179