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

PRECTYPE

PRECTYPE オプションは、オペランドが FIXED で、少なくとも 1 つが FIXED BIN である場合に、コンパイラーが MULTIPLY、DIVIDE、ADD、および SUBTRACT 組み込み関数の属性を導き出す方法を決定します。

構文図を読む構文図をスキップする                .-ANS-------.
>>-PRECTYPE--(--+-DECDIGIT--+--)-------------------------------><
                '-DECRESULT-'
 
ANS
PRECTYPE(ANS) では、BIF(x,y,p) および BIF(x, y, p, 0) の値 p は 2 進数字の指定と解釈されます。 演算は 2 項演算として実行され、その結果には属性 FIXED BIN(p,0) が付与されます。

ただし、q がゼロでない BIF(x, y, p, q) の場合、演算は 10 進演算として実行され、その結果には属性 FIXED DEC(t,u) が付与されます。t および u は、p および q の 10 進数に相当するもので、すなわち、t = 1 + ceil(p / 3.32) および u = ceil(q / 3.32) です。この場合、x, y, p、および q は実際にはすべて 10 進数に変換されます (x および y のみを 10 進数に変換し、q がゼロであってもそれを行う次のサブオプションとは異なります)。コンパイラーは、この状態では情報メッセージ 1BM1053 を出します。

DECDIGIT
PRECTYPE(DECDIGIT) では、BIF(x,y,p) および BIF(x, y, p, 0) の値 p は 10 進数字の指定と解釈されます。 演算は 2 項演算として実行され、その結果には属性 FIXED BIN(s) が付与されます。s は p に対応する 2 進数に相当し、すなわち、s = ceil(3.32*p)) です。 q がゼロでない BIF(x, y, p, q) の場合、PRECTYPE(DECDIGIT) での結果は、下で説明する PRECTYPE(DECRESULT) の結果と同じです。
DECRESULT
PRECTYPE(DECRESULT) では、BIF(x,y,p) の値 p および BIF(x,y,p,q) の値 p と q は 10 進数字の指定と解釈されます。 演算は 10 進演算として実行され、その結果には属性 FIXED DEC(p,0) または FIXED DEC(p,q) がそれぞれ付与されます。 結果は、DECIMAL 組み込み関数が x と y に適用された場合に生成されるものと同じです。

PRECTYPE( ANS ) がデフォルトです。


Terms of use | Feedback

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