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) になります。
ただし、BIF( x, y, p, q ) で q が非ゼロである場合、演算は 10 進演算
として実行され、結果の属性は FIXED DEC(t,u) になります (ここで、t および u
は、p および q の 10 進の等価値、つまり t = ceil( p / 3.32 ) および u = ceil( q / 3.32 )
です)。
この場合、x、y、p、および q は、事実上、すべて 10 進数に変換されます
(これは、x と y だけを変換し、しかも 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 に適用された場合に生成されるものと同じになります。
|
This information center is powered by Eclipse technology. (http://www.eclipse.org)