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 ) がデフォルトです。
|
This information center is powered by Eclipse technology. (http://www.eclipse.org)