Floating-point and integer control

Specifying the details of how your applications perform calculations can allow you to take better advantage of your system's floating-point performance and precision, including how to direct rounding. However, keep in mind that strictly adhering to IEEE floating-point specifications can impact the performance of your application. Using the options in the following table, you can control trade-offs between floating-point performance and adherence to IEEE standards. Some of these options also allow you to control certain aspects of integer calculations.
Table 1. Floating-point and integer control options
Option name @PROCESS directive Description
-qautodbl AUTODBL

Provides an automatic means of converting single-precision floating-point calculations to double-precision and of converting double-precision calculations to extended-precision.

-qdpc DPC

Increases the precision of real constants for maximum accuracy, when assigning real constants to DOUBLE PRECISION variables.

-qenum None.

Specifies the range of the enumerator constant and enables storage size to be determined.

-qfloat FLOAT

Selects different strategies for speeding up or improving the accuracy of floating-point calculations.

-qieee, -y IEEE

Specifies the rounding mode that the compiler will use when it evaluates constant floating-point expressions at compile time.

-qintlog INTLOG

Specifies that you can mix integer and logical data entities in expressions and statements.

-qintsize INTSIZE

Sets the size of default INTEGER and LOGICAL data entities that have no length or kind specified.

-qrealsize REALSIZE

Sets the default size of REAL, DOUBLE PRECISION, COMPLEX, and DOUBLE COMPLEX values.

-qstrictieeemod STRICTIEEEMOD

Specifies whether the compiler will adhere to the Fortran 2003 IEEE arithmetic rules for the ieee_arithmetic and ieee_exceptions intrinsic modules.