Floating point machine attributes inadequate AI-00609/00 1
88-12-13 ST RE
!standard 13.07.03 (05) 88-12-13 AI-00609/00
!class study 88-12-13
!status received 88-12-13
!topic Floating point machine attributes inadequate
!summary 88-12-13
!question 88-12-13
!recommendation 88-12-13
!discussion 88-12-13
!appendix 88-12-08
*****************************************************************************
!section 13.07.03 (05) J. Goodenough 88-12-08 83-01052
!version 1983
!topic Floating point machine attributes inadequate
The current set of machine attributes for floating point types is inadequate
to describe all properties of the machine numbers. In particular, the
attributes do not say whether a denormalized representation is possible. For
example, suppose a machine allows denormalized representations, e.g., suppose
the smallest representable value is:
2#0.001#E-128
In canonical, i.e., normalized, notation, this value is
2#0.100#E-130
Should MACHINE_EMIN therefore be -130? In this case, this value does not
imply that a full set of canonical numbers is representable for such an
exponent value, e.g.,
2#0.101#E-130
is not a representable value. If MACHINE_EMIN is understood to mean the
smallest exponent value for which full MACHINE_MANTISSA precision is
available, then -130 is not the appropriate value for MACHINE_EMIN;
2#0.101#E-130 is not, in fact, representable. On the other hand, if -128 is
used as the value of MACHINE_EMIN, then 2#0.100#E-128 is not, in fact, the
smallest representable positive number.
This shows that MACHINE_EMIN and MACHINE_MANTISSA together are not adequate to
characterize the representation of machine values. At least one additional
attribute is needed, and the definition of MACHINE_EMIN needs to be clarified.