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__ 79union __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