「結果の小数点以下の桁数」精度規則の使用

「結果の小数点以下の桁数」精度規則は、10 進の中間の精度が、 小数位の数が割り当ての結果の小数点以下の桁数より少なくならないように 計算されることを意味します。 これは、以下によって指定されます。

  1. 制御仕様書の EXPROPTS(*RESDECPOS)。 モジュール全体に対してこの動作を指定します。
  2. 自由形式演算に指定された命令コード拡張 R

「結果の小数点以下の桁数」規則は、次の状況において適用されます。

  1. 「結果の小数点以下の桁数」規則は、パック 10 進中間結果にのみ適用 されます。 この作用は、整数、符号なし、または浮動結果を持つ演算の中間結果には 適用されません。
  2. 「結果の小数点以下の桁数」規則は、10 進の目標 (パック、 ゾーン、または 2 進) への割り当て (明示的または暗黙) がある場合にのみ 適用されます。これは、次の状況で行われます。
    1. EVAL ステートメントの場合、小数位の最小数は、割り当ての 目標の小数点以下の桁数によって指定され、この数は、その割り当ての右辺の 式に適用されます。 このステートメントに四捨五入も適用される場合、 小数点以下の最小桁数に 1 桁追加されます (ただし、最小桁数が 63 に満たない場合)。
    2. RETURN ステートメントの場合、小数位の最小数は、プロシージャー の PI 仕様に定義された戻り値の小数点以下の桁数によって指定 されます。 このステートメントに四捨五入も適用される場合、 小数点以下の最小桁数に 1 桁追加されます (ただし、最小桁数が 63 に満たない場合)。
    3. VALUE または CONST パラメーターの場合、 小数位の最小数は、形式パラメーター (プロシージャー・プロトタイプに 指定されている) の小数点以下の桁数によって指定され、渡された パラメーターとして指定された式に適用されます。
    4. 明示的な長さおよび小数点以下の桁数が指定されている 組み込み関数 %DEC および %DECH の場合、小数点以下の最小桁数 は、その組み込み関数の 3 番目のパラメーターによって指定され、その数は 1 番目の パラメーターとして指定された式に適用されます。

    小数点以下の最小桁数は、上記の演算の別の数によって一時変更 されていない限り、副次式全体に適用されます。 四捨五入が指定されている (H 命令コード拡張として、 あるいは組み込み関数 %DECH によって) 場合、中間結果の 小数点以下の桁数は N+1 より少なくなることは ありません。ここで、N は、その結果の小数点以下の桁数です。

  3. 「結果の小数点以下の桁数」規則は、対応する結果がないために、 普通、条件式には適用されません。(特定の精度との比較を行う必要がある場合、%DEC また は %DECH をその 2 つの引数に使用しなければなりません。)

    それとは逆に、条件式が、小数点以下の最小桁数が指定される (上記の 技法のいずれかを用いて) 式の中に組み込まれる場合、「結果の小数点以下の桁数」規則が適用されます。