コンパイラーは、組み込み関数の 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 (拡張モード) |
混合 組み込み関数とは、結果の型がその引数の型に依存する関数です。引数がすべて数値で、どの引数も浮動小数点でない場合、その混合関数は固定小数点です。(混合関数のいずれかの引数が浮動小数点である場合、その関数は浮動小数点命令によって評価され、浮動小数点結果を戻します。) 混合関数が固定小数点算術演算で評価されたときは、引数がすべて整数であれば結果は整数になり、それ以外の場合は結果は固定小数点になります。
混合関数 MAX、MIN、RANGE、REM、および SUM の場合、outer-dmax は常に inner-dmax に等しくなります (したがって、引数がすべて整数であれば、両方とも 0 になります)。これらの関数について戻される結果の精度を判別するためには、固定小数点算術演算および中間結果に関する規則 (以下を参照) を、アルゴリズムの各ステップに適用してください。