Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, Programming Guide

FLOAT

The FLOAT option controls the use of the additional floating-point registers and whether Decimal Floating Point is supported.

Read syntax diagramSkip visual syntax diagram             .-+---+-------------------------------------.
             | '-,-'                                     |
             V     .-AFP-.                               |
>>-FLOAT--(----+-+-+-----+--+----------------------+-+-+-+--)--><
               | |          |    .-NOVOLATILE-.    | | |
               | |          '-(--+-VOLATILE---+--)-' | |
               | '-NOAFP-----------------------------' |
               | .-NODFP-.                             |
               '-+-DFP---+-----------------------------'
 
NOAFP
Compiler-generated code uses the traditional 4 floating-point registers.
AFP
Compiler-generated code may use all 16 floating-point registers.
VOLATILE
The compiler will not expect that the registers FPR8-FPR15 will be preserved by any called program. Consequently, the compiler will generate extra code to protect these registers.

Extra code will be generated even if no floating-point registers are used, and this will hurt performance. If your application makes little or no use of floating-point, it would be much better to compile with FLOAT(NOAFP) than with FLOAT(AFP(VOLATILE)).

NOVOLATILE
The compiler will expect that the registers FPR8-FPR15 will be preserved by any called program (as z/OS says they should be). This option will produce the most optimal code and is highly recommended if you have no CICS code. However, it must be used with care in any code included in a CICS application. For a CICS application,
  • either: all code containing EXEC CICS statements must be compiled with FLOAT(AFP(VOLATILE))
  • or: all code using floating-point must be compiled with FLOAT(NOAFP) or with FLOAT(AFP(VOLATILE))

It is safe and probably simplest not to use the FLOAT(AFP(NOVOLATILE)) option in any code that runs as part of a CICS application.

DFP
The DFP facility is exploited: all DECIMAL FLOAT data will be held in the DFP format described in the z/OS Principles of Operations manual and operations using DECIMAL FLOAT will be carried using the DFP hardware instructions described therein.

The ARCH option must be 7 (or greater) or this option will be rejected.

NODFP
The DFP facility is not exploited.

Under FLOAT(DFP),


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)