ieee_features: IEEE feature support module
Table of Contents
1 Name
ieee_features
— Intrinsic module for requesting IEEE feature support
2 Usage
USE,INTRINSIC :: IEEE_FEATURES [,ONLY:feature [,feature]...]
This module provides a mechanism to request support for particular IEEE features.
The contents of this module conform to technical report ISO/IEC TR 15580:1998(E).
3 Synopsis
- Derived Types
- IEEE_FEATURES_TYPE.
- Parameters
IEEE_DATATYPE, IEEE_DENORMAL, IEEE_DIVIDE, IEEE_HALTING, IEEE_INEXACT_FLAG, IEEE_INF, IEEE_INVALID_FLAG, IEEE_NAN, IEEE_ROUNDING, IEEE_SQRT, IEEE_UNDERFLOW_FLAG.
4 Derived-Type Description
TYPE IEEE_FEATURES_TYPE PRIVATE ... END TYPEThis type is the type of the named constants exported by this module. It is provided solely for access to these named constants.
5 Parameter Description
Accessing these parameters (on the USE statement) requests support for the specified IEEE features. For example,
USE,INTRINSIC :: IEEE_FEATURES,ONLY:IEEE_INF,IEEE_NANwill cause compilation to fail if the requested features (IEEE infinities and NaNs) cannot be supported. Note that a USE statement for IEEE_FEATURES with no ONLY clause will request support for all the possible features.
TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_DATATYPERequests IEEE arithmetic support, returning .TRUE. from IEEE_SUPPORT_DATATYPE(X) for at least one kind of REAL.
TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_DENORMAL
Requests support for IEEE denormalised numbers, returning .TRUE. from IEEE_SUPPORT_DENORMAL(X) for at least one kind of REAL.
TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_DIVIDERequests support for IEEE division, returning .TRUE. from IEEE_SUPPORT_DIVIDE(X) for at least one kind of REAL.
TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_HALTINGRequests support for changing the halting mode, return .TRUE. from IEEE_SUPPORT_HALTING for at least one exception flag.
TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_INEXACT_FLAG
Requests support for the inexact exception, returning .TRUE. from IEEE_SUPPORT_FLAG(IEEE_INEXACT,X) for at least one kind of REAL.
TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_INFRequests support for IEEE infinities, returning .TRUE. from IEEE_SUPPORT_INF(X) for at least one kind of REAL.
TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_INVALID_FLAG
Requests support for the invalid exception, returning .TRUE. from IEEE_SUPPORT_FLAG(IEEE_INVALID,X) for at least one kind of REAL.
TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_NANRequests support for IEEE NaNs (Not-a-Number values), returning .TRUE. from IEEE_SUPPORT_NAN(X) for at least one kind of REAL.
TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_ROUNDING
Requests support for dynamic setting of all IEEE rounding modes, returning .TRUE. from IEEE_SUPPORT_ROUNDING(ROUND_VALUE,X) for all rounding modes for at least one kind of REAL.
TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_SQRTRequests support for IEEE sqrt, returning .TRUE. from IEEE_SUPPORT_SQRT for at least one kind of REAL.
TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_UNDERFLOW_FLAG
Requests support for the underflow exception, returning .TRUE. from IEEE_SUPPORT_FLAG(IEEE_UNDERFLOW,X) for at least one kind of REAL.
6 See Also
nagfor(1), ieee_arithmetic(3), ieee_exceptions(3), intro(3), nag_modules(3).
7 Bugs
Please report any bugs found to ‘support@nag.co.uk’ or ‘support@nag.com’, along with any suggestions for improvements.