# number_properties

浮動小数点数パラメータを定義する

## 呼び出し手順Calling Sequence

    pr = number_properties(prop)

## パラメータ

prop

  文字列

pr

  実数または論理値のスカラー

## 説明

この関数は `F(b,p,emin,emax)`で定義された 浮動小数点数の集合 (通常は IEEE 754 で定義された64bit浮動小数点数の集合) の数値的特徴を取得する際に使用することができます. `F` の数値は以下のように作成されます:

`sign * m * b^e`

`e`は指数, `m` は仮数です:

$$ m = d_1 \cdot b^{-1} + d_2 \cdot b^{-2} + \ldots + d_p \cdot b^{-p} $$

$d_i$ の桁は`[0, b-1]`の範囲, `e` は `[emin, emax]`の範囲となり, $d_1 \neq 0$の場合, 数値は"正規化"されます. 以下の値を取得できます:

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` は,機械イプシロン (通常は $\dfrac{b^{1-p}}{2}$)となります. 機械イプシロンは, (`|x|` が `[tiny, huge]`の範囲にあるような) `x`と`F`における 浮動小数点近似である`fl(x)`の間の 相対誤差の最大値です.

prop = "minexp"

  この場合, `pr` は `emin`です

prop = "maxexp"

  この場合, `pr` は `emax`です

## 注意

この関数は機械パラメータを取得するために LAPACKルーチン dlamch を使用します. (名前 (radix, digit, huge, など...) は LIA 1 規格で推奨されたもので, 対応する Lapack の定義とは異なっています) ; 注意: 機械イプシロンに関して以下のような定義を見ることが あるはずです: $eps = b^{1-p}$ しかし, この関数では伝統的な定義 (前記のprop = "eps"を参照)を 使用しており, このため,通常の丸めが発生する場合に$eps = \dfrac{b^{1-p}}{2}$ ,そうでない場合に $eps = b^{1-p}$ となります.

## 例

    b = number_properties("radix")
    eps = number_properties("eps")

## 参照

- nearfloat
- frexp