The IEEE modules define the following derived types.
A derived data type defined by the IEEE_EXCEPTIONS module that identifies a particular exception flag. The values for IEEE_FLAG_TYPE must be one of the following named constants as defined in the IEEE_EXCEPTIONS module:
When using REAL(4), an overflow occurs when the result value's unbiased exponent is > 127 or < -126.
When using REAL(8), an overflow occurs when the result value's unbiased exponent is > 1023 or < -1022.
For REAL(4), an underflow occurs when the result has an absolute value < 2^{-149}.
For REAL(8), an underflow occurs when the result has an absolute value < 2^{-1074}.
The following constants are arrays of IEEE_FLAG_TYPE:
A derived data type defined in the IEEE_ARITHMETIC modules that represents the current floating-point status as defined in the IEEE_ARITHMETIC module. The floating-point status encompasses the values of all exception flags, halting, and rounding modes.
A derived data type defined in the IEEE_ARITHMETIC module that
categorizes a class of floating-point values. The values for
IEEE_CLASS_TYPE must be one of the following named constants as
defined in the IEEE_ARITHMETIC module:
IEEE_SIGNALING_NAN | IEEE_NEGATIVE_ZERO |
IEEE_QUIET_NAN | IEEE_POSITIVE_ZERO |
IEEE_NEGATIVE_INF | IEEE_POSITIVE_DENORMAL |
IEEE_NEGATIVE_NORMAL | IEEE_POSITIVE_NORMAL |
IEEE_NEGATIVE_DENORMAL | IEEE_POSITIVE_INF |
A derived data type defined in the IEEE_ARITHMETIC modules that identifies a particular rounding mode. The values for IEEE_ROUND_TYPE must be one of the following named constants as defined in the IEEE_ARITHMETIC module:
A derived data type defined in the IEEE_FEATURES module that
identifies the IEEE features to use. The values for
IEEE_FEATURES_TYPE must be one of the following named constants as
defined in the IEEE_FEATURES module:
IEEE_DATATYPE | IEEE_DATATYPE |
IEEE_DENORMAL | IEEE_INVALID_FLAG |
IEEE_DIVIDE | IEEE_NAN |
IEEE_HALTING | IEEE_ROUNDING |
IEEE_INEXACT_FLAG | IEEE_SQRT |
IEEE_INF | IEEE_UNDERFLOW_FLAG |