1 /* float.h for target with IEEE 32/64 bit and Intel 386 style 80 bit 2 floating point formats */ 3 #ifndef _FLOAT_H_ 4 #define _FLOAT_H_ 5 /* Produced by enquire version 4.3, CWI, Amsterdam */ 6 7 /* Radix of exponent representation */ 8 #undef FLT_RADIX 9 #define FLT_RADIX 2 10 /* Number of base-FLT_RADIX digits in the significand of a float */ 11 #undef FLT_MANT_DIG 12 #define FLT_MANT_DIG 24 13 /* Number of decimal digits of precision in a float */ 14 #undef FLT_DIG 15 #define FLT_DIG 6 16 /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */ 17 #undef FLT_ROUNDS 18 #define FLT_ROUNDS 1 19 /* Difference between 1.0 and the minimum float greater than 1.0 */ 20 #undef FLT_EPSILON 21 #define FLT_EPSILON 1.19209290e-07F 22 /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */ 23 #undef FLT_MIN_EXP 24 #define FLT_MIN_EXP (-125) 25 /* Minimum normalised float */ 26 #undef FLT_MIN 27 #define FLT_MIN 1.17549435e-38F 28 /* Minimum int x such that 10**x is a normalised float */ 29 #undef FLT_MIN_10_EXP 30 #define FLT_MIN_10_EXP (-37) 31 /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */ 32 #undef FLT_MAX_EXP 33 #define FLT_MAX_EXP 128 34 /* Maximum float */ 35 #undef FLT_MAX 36 #define FLT_MAX 3.40282347e+38F 37 /* Maximum int x such that 10**x is a representable float */ 38 #undef FLT_MAX_10_EXP 39 #define FLT_MAX_10_EXP 38 40 41 /* Number of base-FLT_RADIX digits in the significand of a double */ 42 #undef DBL_MANT_DIG 43 #define DBL_MANT_DIG 53 44 /* Number of decimal digits of precision in a double */ 45 #undef DBL_DIG 46 #define DBL_DIG 15 47 /* Difference between 1.0 and the minimum double greater than 1.0 */ 48 #undef DBL_EPSILON 49 #define DBL_EPSILON 2.2204460492503131e-16 50 /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */ 51 #undef DBL_MIN_EXP 52 #define DBL_MIN_EXP (-1021) 53 /* Minimum normalised double */ 54 #undef DBL_MIN 55 #define DBL_MIN 2.2250738585072014e-308 56 /* Minimum int x such that 10**x is a normalised double */ 57 #undef DBL_MIN_10_EXP 58 #define DBL_MIN_10_EXP (-307) 59 /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */ 60 #undef DBL_MAX_EXP 61 #define DBL_MAX_EXP 1024 62 /* Maximum double */ 63 #undef DBL_MAX 64 #define DBL_MAX 1.7976931348623157e+308 65 /* Maximum int x such that 10**x is a representable double */ 66 #undef DBL_MAX_10_EXP 67 #define DBL_MAX_10_EXP 308 68 69 /* Number of base-FLT_RADIX digits in the significand of a long double */ 70 #undef LDBL_MANT_DIG 71 #define LDBL_MANT_DIG 64 72 /* Number of decimal digits of precision in a long double */ 73 #undef LDBL_DIG 74 #define LDBL_DIG 18 75 /* Difference between 1.0 and the minimum long double greater than 1.0 */ 76 #undef LDBL_EPSILON 77 #ifndef __LDBL_UNION__ 78 #define __LDBL_UNION__ 79 union __convert_long_double { 80 unsigned __convert_long_double_i[4]; 81 long double __convert_long_double_d; 82 }; 83 #endif 84 #define LDBL_EPSILON (__extension__ ((union __convert_long_double) {__convert_long_double_i: {0x0, 0x80000000, 0x3fc0, 0x0}}).__convert_long_double_d) 85 /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */ 86 #undef LDBL_MIN_EXP 87 #define LDBL_MIN_EXP (-16381) 88 /* Minimum normalised long double */ 89 #undef LDBL_MIN 90 #define LDBL_MIN (__extension__ ((union __convert_long_double) {__convert_long_double_i: {0x0, 0x80000000, 0x1, 0x0}}).__convert_long_double_d) 91 /* Minimum int x such that 10**x is a normalised long double */ 92 #undef LDBL_MIN_10_EXP 93 #define LDBL_MIN_10_EXP (-4931) 94 /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */ 95 #undef LDBL_MAX_EXP 96 #define LDBL_MAX_EXP 16384 97 /* Maximum long double */ 98 #undef LDBL_MAX 99 #define LDBL_MAX (__extension__ ((union __convert_long_double) {__convert_long_double_i: {0xffffffff, 0xffffffff, 0x107ffe, 0x0}}).__convert_long_double_d) 100 /* Maximum int x such that 10**x is a representable long double */ 101 #undef LDBL_MAX_10_EXP 102 #define LDBL_MAX_10_EXP 4932 103 104 #endif /* _FLOAT_H___ */ 105