Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, プログラミング・ガイド

FLOAT

FLOAT オプションは、追加の浮動小数点レジスターの使用、および 10 進浮動小数点をサポートするかどうかを制御します。

構文図を読む構文図をスキップする             .-+---+-------------------------------------.
             | '-,-'                                     |
             V     .-AFP-.                               |
>>-FLOAT--(----+-+-+-----+--+----------------------+-+-+-+--)--><
               | |          |    .-NOVOLATILE-.    | | |
               | |          '-(--+-VOLATILE---+--)-' | |
               | '-NOAFP-----------------------------' |
               | .-NODFP-.                             |
               '-+-DFP---+-----------------------------'
 
NOAFP
コンパイラー生成コードは従来式の 4 つの浮動小数点レジスターを 使用します。
AFP
コンパイラー生成コードは 16 の浮動小数点レジスターすべてを使用できます。
VOLATILE
コンパイラーは、呼び出されたプログラムが FPR8 から FPR15 までのレジスターを保持することは想定しません。 そのためコンパイラーは、これらのレジスターを保護するための追加コードを生成します。

このオプションを指定すると、浮動小数点レジスターが使用されなくても追加コードが生成されるため、パフォーマンスに悪影響を与えることになります。 アプリケーションが浮動小数点をほとんど、またはまったく使用しない場合は、FLOAT(AFP(VOLATILE)) よりも FLOAT(NOAFP) を指定してコンパイルした方が高いパフォーマンスが得られます。

NOVOLATILE
コンパイラーは、(z/OS で推奨されているように) 呼び出されたプログラムが FPR8 から FPR15 までのレジスターを保持することを想定します。 このオプションを使用すると最適なコードが生成されます。CICS コードを使用しない場合は、このオプションを強くお勧めします。 ただし、CICS アプリケーションに組み込まれるコードの場合は、このオプションの使用には注意が必要です。 CICS アプリケーションの場合は、次のどちらかの方法でコンパイルします。
  • EXEC CICS ステートメントを含むすべてのコードは、FLOAT(AFP(VOLATILE)) を指定してコンパイルします。
  • 浮動小数点を使用するすべてのコードは、FLOAT(NOAFP) または FLOAT(AFP(VOLATILE)) を指定してコンパイルします。

CICS アプリケーションの一部として実行されるコードの場合は、FLOAT(AFP(NOVOLATILE)) オプションを使用しないことが、安全でおそらく最も簡単な方法です。

DFP
DFP 機能が活用されます。すべての DECIMAL FLOAT データが「z/OS Principles of Operations」マニュアルに記載されている DFP フォーマットで保持され、DECIMAL FLOAT を使用する操作は、同マニュアルに記載されている DFP ハードウェア命令を使用して実行されます。

ARCH オプションは 7 (またはそれ以上) でなければなりません。そうでない場合、このオプションは拒否されます。

NODFP
DFP 機能は活用されません。

FLOAT(DFP) を指定すると、


Terms of use | Feedback

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