home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD2.bin / bbs / gnu / gcc-2.6.3-bin.lha / GNU / lib / gcc-lib / amigados / 2.6.3 / include / float.h next >
C/C++ Source or Header  |  1994-12-23  |  5KB  |  132 lines

  1. /* float.h */
  2. #ifndef _FLOAT_H___
  3. #define _FLOAT_H___
  4. /* Produced by enquire version 4.3, CWI, Amsterdam */
  5.  
  6.    /* Radix of exponent representation */
  7. #undef FLT_RADIX
  8. #define FLT_RADIX 2
  9.    /* Number of base-FLT_RADIX digits in the significand of a float */
  10. #undef FLT_MANT_DIG
  11. #define FLT_MANT_DIG 24
  12.    /* Number of decimal digits of precision in a float */
  13. #undef FLT_DIG
  14. #define FLT_DIG 6
  15.    /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */
  16. #undef FLT_ROUNDS
  17. #define FLT_ROUNDS 1
  18.    /* Difference between 1.0 and the minimum float greater than 1.0 */
  19. #undef FLT_EPSILON
  20. #define FLT_EPSILON 1.19209290e-07F
  21.    /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */
  22. #undef FLT_MIN_EXP
  23. #define FLT_MIN_EXP (-125)
  24.    /* Minimum normalised float */
  25. #undef FLT_MIN
  26. #define FLT_MIN 1.17549435e-38F
  27.    /* Minimum int x such that 10**x is a normalised float */
  28. #undef FLT_MIN_10_EXP
  29. #define FLT_MIN_10_EXP (-37)
  30.    /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */
  31. #undef FLT_MAX_EXP
  32. #define FLT_MAX_EXP 128
  33.    /* Maximum float */
  34. #undef FLT_MAX
  35. #define FLT_MAX 3.40282347e+38F
  36.    /* Maximum int x such that 10**x is a representable float */
  37. #undef FLT_MAX_10_EXP
  38. #define FLT_MAX_10_EXP 38
  39.  
  40.    /* Number of base-FLT_RADIX digits in the significand of a double */
  41. #undef DBL_MANT_DIG
  42. #define DBL_MANT_DIG 53
  43.    /* Number of decimal digits of precision in a double */
  44. #undef DBL_DIG
  45. #define DBL_DIG 15
  46.    /* Difference between 1.0 and the minimum double greater than 1.0 */
  47. #undef DBL_EPSILON
  48. #define DBL_EPSILON 2.2204460492503131e-16
  49.    /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
  50. #undef DBL_MIN_EXP
  51. #define DBL_MIN_EXP (-1021)
  52.    /* Minimum normalised double */
  53. #undef DBL_MIN
  54. #define DBL_MIN 2.2250738585072014e-308
  55.  
  56. /* *** WARNING: Possibly bad output from printf above */
  57. /*     expected value around 2.2250738585072010e-308, bit pattern:
  58.     00000000 00010000 00000000 00000000 00000000 00000000 00000000 00000000 */
  59. /*     sscanf gave           2.2250738585071999e-308, bit pattern:
  60.     00000000 00001111 11111111 11111111 11111111 11111111 11111111 11111101 */
  61. /*     difference= 1.4821969375237396e-323 */
  62.  
  63.    /* Minimum int x such that 10**x is a normalised double */
  64. #undef DBL_MIN_10_EXP
  65. #define DBL_MIN_10_EXP (-307)
  66.    /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
  67. #undef DBL_MAX_EXP
  68. #define DBL_MAX_EXP 1024
  69.    /* Maximum double */
  70. #undef DBL_MAX
  71. #define DBL_MAX 1.7976931348623168e+308
  72.  
  73. /* *** WARNING: Possibly bad output from printf above */
  74. /*     expected value around 1.7976931348623164e308, bit pattern:
  75.     01111111 11101111 11111111 11111111 11111111 11111111 11111111 11111111 */
  76. /*     sscanf gave           Inf, bit pattern:
  77.     01111111 11110000 00000000 00000000 00000000 00000000 00000000 00000000 */
  78. /*     difference= -Inf */
  79.  
  80.    /* Maximum int x such that 10**x is a representable double */
  81. #undef DBL_MAX_10_EXP
  82. #define DBL_MAX_10_EXP 308
  83.  
  84.    /* Number of base-FLT_RADIX digits in the significand of a long double */
  85. #undef LDBL_MANT_DIG
  86. #define LDBL_MANT_DIG 53
  87.    /* Number of decimal digits of precision in a long double */
  88. #undef LDBL_DIG
  89. #define LDBL_DIG 15
  90.    /* Difference between 1.0 and the minimum long double greater than 1.0 */
  91. #undef LDBL_EPSILON
  92. #define LDBL_EPSILON 2.2204460492503131e-16L
  93.    /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
  94. #undef LDBL_MIN_EXP
  95. #define LDBL_MIN_EXP (-1021)
  96.    /* Minimum normalised long double */
  97. #undef LDBL_MIN
  98. #define LDBL_MIN 2.2250738585072014e-308L
  99.  
  100. /* *** WARNING: Possibly bad output from printf above */
  101. /*     expected value around 2.2250738585072010e-308, bit pattern:
  102.     00000000 00010000 00000000 00000000 00000000 00000000 00000000 00000000 */
  103. /*     sscanf gave           2.2250738585071999e-308, bit pattern:
  104.     00000000 00001111 11111111 11111111 11111111 11111111 11111111 11111101 */
  105. /*     difference= 1.4821969375237396e-323 */
  106.  
  107.    /* Minimum int x such that 10**x is a normalised long double */
  108. #undef LDBL_MIN_10_EXP
  109. #define LDBL_MIN_10_EXP (-307)
  110.    /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
  111. #undef LDBL_MAX_EXP
  112. #define LDBL_MAX_EXP 1024
  113.    /* Maximum long double */
  114. #undef LDBL_MAX
  115. #define LDBL_MAX 1.7976931348623168e+308L
  116.  
  117. /* *** WARNING: Possibly bad output from printf above */
  118. /*     expected value around 1.7976931348623164e308, bit pattern:
  119.     01111111 11101111 11111111 11111111 11111111 11111111 11111111 11111111 */
  120. /*     sscanf gave           Inf, bit pattern:
  121.     01111111 11110000 00000000 00000000 00000000 00000000 00000000 00000000 */
  122. /*     difference= -Inf */
  123.  
  124.    /* Maximum int x such that 10**x is a representable long double */
  125. #undef LDBL_MAX_10_EXP
  126. #define LDBL_MAX_10_EXP 308
  127.  
  128. #endif /*  _FLOAT_H___ */
  129.  
  130. /* For hints on dealing with the 4 problems above
  131.    see the section 'TROUBLESHOOTING' in the file /gnu/src/amiga/gcc-2.6.3/./enquire.c */
  132.