Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 プログラミング・ガイド


固定小数点算術で評価される組み込み関数

コンパイラーは、組み込み関数の inner-dmax 値および outer-dmax 値を、関数の特性から決定します。

整数関数

整数組み込み関数は整数を戻します。したがって、この関数の outer-dmax は常に 0 です。引数がすべて整数でなければならない整数関数の場合は、inner-dmax も常に 0 になります。

次の表に、inner-dmax および関数結果の精度を要約します。

関数 Inner-dmax 関数結果の桁精度
DATE-OF-INTEGER 0 8
DATE-TO-YYYYMMDD 0 8
DAY-OF-INTEGER 0 7
DAY-TO-YYYYDDD 0 7
FACTORIAL 0 30 (互換モード)、31 (拡張モード)
INTEGER-OF-DATE 0 7
INTEGER-OF-DAY 0 7
LENGTH n/a 9
MOD 0 min(i1 i2)
ORD n/a 3
ORD-MAX   9
ORD-MIN   9
YEAR-TO-YYYY 0 4
INTEGER   固定小数点引数の場合: 引数より 1 桁大きくなります。浮動小数点引数の場合: 30 (互換モード)、31 (拡張モード)
INTEGER-PART   固定小数点引数の場合: 引数と同じ桁数になります。浮動小数点引数の場合: 30 (互換モード)、31 (拡張モード)

混合関数

混合 組み込み関数とは、結果の型がその引数の型に依存する関数です。引数がすべて数値で、どの引数も浮動小数点でない場合、その混合関数は固定小数点です。(混合関数のいずれかの引数が浮動小数点である場合、その関数は浮動小数点命令によって評価され、浮動小数点結果を戻します。) 混合関数が固定小数点算術演算で評価されたときは、引数がすべて整数であれば結果は整数になり、それ以外の場合は結果は固定小数点になります。

混合関数 MAXMINRANGEREM、および SUM の場合、outer-dmax は常に inner-dmax に等しくなります (したがって、引数がすべて整数であれば、両方とも 0 になります)。これらの関数について戻される結果の精度を判別するためには、固定小数点算術演算および中間結果に関する規則 (以下を参照) を、アルゴリズムの各ステップに適用してください。

MAX
  1. 最初の引数を関数結果に割り当てる。
  2. 残りの引数ごとに、以下のステップを実行する。
    1. 関数結果の代数値を引数と比較する。
    2. 2 つの値のうちの大きな方を関数結果に割り当てる。
MIN
  1. 最初の引数を関数結果に割り当てる。
  2. 残りの引数ごとに、以下のステップを実行する。
    1. 関数結果の代数値を引数と比較する。
    2. 2 つの値のうちの小さな方を関数結果に割り当てる。
RANGE
  1. MAX 用のステップを使用して、最大の引数を選択する。
  2. MIN 用のステップを使用して、最小の引数を選択する。
  3. 最大の引数から最小の引数を引く。
  4. その差を関数結果に割り当てる。
REM
  1. 引数 1 を引数 2 で割る。
  2. ステップ 1 の結果からすべての非整数桁を除去する。
  3. ステップ 2 の結果に引数 2 を掛ける。
  4. ステップ 3 の結果を引数 1 から引く。
  5. その差を関数結果に割り当てる。
SUM
  1. 値 0 を関数結果に割り当てる。
  2. 引数ごとに、以下のステップを実行する。
    1. その引数を関数結果に足す。
    2. その和を関数結果に割り当てる。

ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)