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

BIFPREC

BIFPREC オプションは、さまざまな組み込み関数によって戻された FIXED BIN の結果の精度を制御します。

構文図を読む構文図をスキップする               .-15-.
>>-BIFPREC--(--+-31-+--)---------------------------------------><
 

PL/I for MVS & VM、OS PL/I V2R3 およびそれ以前のコンパイラーと互換性のためには、BIFPREC(15) を使用するのが最適です。

BIFPREC は次の組み込み関数に影響します。

BIFPREC コンパイラー・オプションの影響が最も明らかに見えるのは、上記の組み込み関数の結果の 1 つが、パラメーター・リストなしに宣言された外部関数に受け渡されるときです。例えば、次のような部分コードがあるとします。

  dcl parm char(40) var;
  dcl funky ext entry( pointer, fixed bin(15) );
  dcl beans ext entry;
  call beans( addr(parm), verify(parm),' ') );

関数 beans が実際にそのパラメーターを POINTER および FIXED BIN(15) として宣言すると、上記のコードがオプション BIFPREC(31) でコンパイルされたものであった場合、および z/OS のようなビッグ・エンディアン・システム上で実行されていた場合に、コンパイラーは 2 番目の引数として 4 バイトの整数を受け渡し、2 番目のパラメーターがゼロであるかのように見えます。

関数 funky は、すべてのシステム上でどちらのオプションでも機能することに注意してください。

BIFPREC オプションは、組み込み関数 DIM、HBOUND および LBOUND には影響しません。CMPAT オプションは、次の 3 つの関数から戻された FIXED BIN の結果の精度を判別します。CMPAT(V1) では、これらの配列処理関数は、FIXED BIN(15) の結果を戻し、CMPAT(V2) および CMPAT(LE) では、FIXED BIN(31) の結果を戻します。 CMPAT(V3) では、FIXED BIN(63) の結果が返されます。


Terms of use | Feedback

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