number_properties
浮動小数点数パラメータを定義する
呼び出し手順Syntax
pr = number_properties(prop)
引数
- prop
文字列
- pr
実数または論理値のスカラー
説明
この関数は
F(b,p,emin,emax)
で定義された
浮動小数点数の集合
(通常は IEEE 754 で定義された64bit浮動小数点数の集合)
の数値的特徴を取得する際に使用することができます.
F
の数値は以下のように作成されます:
sign * m * b^e
e
は指数, m
は仮数です:
の桁は[0, b-1]
の範囲,
e
は [emin, emax]
の範囲となり,
の場合,
数値は"正規化"されます.
以下の値を取得できます:
- prop = "radix"
この場合,
pr
は 集合F
の基数b
となります- prop = "digits"
この場合,
pr
はp
の桁数になります- prop = "huge"
この場合,
pr
はF
の最大の正の浮動小数点数となります- prop = "tiny"
この場合,
pr
はF
の正規化された最小の正の浮動小数点数となります- prop = "denorm"
この場合,
pr
は論理値となります (正規化されていない数値が使用されている場合は %t)- prop = "tiniest"
この場合,
pr
が 最小の正の非正規化数の場合に denorm = %t, そうでない場合にpr
= tiny となります- prop = "eps"
この場合,
pr
は,機械イプシロン (通常は )となります. 機械イプシロンは, (|x|
が[tiny, huge]
の範囲にあるような)x
とF
における 浮動小数点近似であるfl(x)
の間の 相対誤差の最大値です.- prop = "minexp"
この場合,
pr
はemin
です- prop = "maxexp"
この場合,
pr
はemax
です
この関数は機械パラメータを取得するために
LAPACKルーチン dlamch を使用します.
(名前 (radix, digit, huge, など...) は LIA 1 規格で推奨されたもので,
対応する Lapack の定義とは異なっています) ; |
機械イプシロンに関して以下のような定義を見ることが
あるはずです:
しかし, この関数では伝統的な定義 (前記のprop = "eps"を参照)を
使用しており,
このため,通常の丸めが発生する場合に
,そうでない場合に
となります. |
例
b = number_properties("radix") eps = number_properties("eps")
参照
Report an issue | ||
<< nextpow2 | Floating point | round >> |