プログラミング言語 C の新機能 Part L: math.h: 関数型マクロ
(2000/03/06 [月])
math.h の新たな関数型マクロについて紹介します。
マクロ名 | 解説 |
---|---|
fpclassify(x) | 引数 x が NaN, 無限大, normal, subnormal, 0 かどうかを判定し、結果を、FP_INFINITE, FP_NAN, FP_NORMAL, FP_SUBNORMAL, FP_ZERO として返す。
|
isfinite(x) | x が無限大または NaN でなければ整数非ゼロを返す。
|
isinf(x) | x が正または負の無限大ならば整数非ゼロを返す。
|
isnan(x) | x が NaN ならば整数非ゼロを返す。
|
isnormal(x) | x が normal (fplassify(x) が FP_NORMAL を返す場合) ならば整数非ゼロを返す。
|
signbit(x) | x が 負のとき整数非ゼロを返す。ゼロや無限大、NaN の時も正負の判定を行って値を返す。
|
マクロ名 | 解説 |
---|---|
isgreater(x, y) | (x) > (y) を返す。ただし x と y が順序付けできないときでも例外を発生しない。
|
isgreaterequal(x, y) | (x) >= (y) を返す。ただし x と y が順序付けできないときでも例外を発生しない。
|
isless(x, y) | (x) < (y) を返す。ただし x と y が順序付けできないときでも例外を発生しない。
|
islessequal(x, y) | (x) <= (y) を返す。ただし x と y が順序付けできないときでも例外を発生しない。
|
islessgreater(x, y) | (x) > (y) || (x) < (y) を返す。ただし x と y が順序付けできないときでも例外を発生しない。
|
isunordered(x, y) | (x) と (y) が順序付けできないとき整数 1、さもなくば整数 0 を返す。
|
注: 順序付けできないとは、引数に NaN がある時。具体的には (NaN, 値)、(値, NaN)、(NaN, NaN) の時。 通常の比較演算子を使った比較では NaN があると不正例外が発生する。これらのマクロを使用時にはいかなる時もそのような例外は発生しない。 |
by seclan