internal API

internal パッケージは、他のパッケージがステップサイズの選択や丸め誤差の評価に使う機械定数を保持します。関数は含みません。定数は GNU Scientific Library の gsl_machine.h のものです。

機械定数

各定数は machine_<prefix><quantity> という名前の Double です。quantity は浮動小数点形式の限界値を表します。

量意味
dbl_epsilon倍精度の機械イプシロン、2−52≈2.22⋅10−162^{-52} \approx 2.22 \cdot 10^{-16}。
dbl_min最小の正の正規化倍精度数、≈2.23⋅10−308\approx 2.23 \cdot 10^{-308}。
dbl_max最大の有限な倍精度数、≈1.80⋅10308\approx 1.80 \cdot 10^{308}。
flt_epsilon単精度の機械イプシロン、2−232^{-23}。
flt_min最小の正の正規化単精度数。
flt_max最大の有限な単精度数。
sflt_epsilonGSL の短精度浮動小数点形式の機械イプシロン、2−112^{-11}。
epsGSL_MACH_EPS 系列の丸められた機械許容誤差で、接頭辞付きの形でのみ存在します。

接頭辞はその量に適用する関数を表します。

接頭辞値対象
なし量そのものdbl_*, flt_*, sflt_epsilon
sqrt_その平方根すべての量
root_3_ から root_6_その 3 乗根から 6 乗根すべての量
log_その自然対数すべての量

例えば machine_sqrt_dbl_epsilon は ε≈1.49⋅10−8\sqrt{\varepsilon} \approx 1.49 \cdot 10^{-8}、machine_log_dbl_max は ln⁡(dbl_max)≈709.78\ln(\text{dbl\_max}) \approx 709.78 です。丸められた eps の値は machine_sqrt_eps(3.2⋅10−83.2 \cdot 10^{-8})、machine_root_3_eps(10−510^{-5})、machine_root_4_eps(1.78⋅10−41.78 \cdot 10^{-4})、machine_root_5_eps(10−310^{-3})、machine_root_6_eps(3.16⋅10−33.16 \cdot 10^{-3})、machine_log_eps(−34.54-34.54)です。