FPCLASSIFY
Section: Linux Programmer's Manual (3)
Updated: 2007-07-26
Index
JM Home Page
roff page
名前
fpclassify, isfinite, isnormal, isnan, isinf - 浮動小数点数の分類マクロ
書式
#include <math.h>
int fpclassify(x);
int isfinite(x);
int isnormal(x);
int isnan(x);
int isinf(x);
-lm でリンクする。
glibc 向けの機能検査マクロの要件
(feature_test_macros(7)
参照):
fpclassify(),
isfinite(),
isnormal():
_XOPEN_SOURCE >= 600 || _ISOC99_SOURCE; または
cc -std=c99
isnan():
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE || _ISOC99_SOURCE; または
cc -std=c99
isinf():
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE;
または
cc -std=c99
説明
浮動小数点数は無限や NaN のような特別な値を持つことができる。
マクロ
fpclassify(x)
で
x
がどのようなタイプであるかを知ることができる。
マクロは任意の浮動小数点数表現を引き数としてとることができる。
結果は以下の値のいずれか一つである:
- FP_NAN
-
x
が "Not a Number" である (数値ではない)。
- FP_INFINITE
-
x
が正または負の無限大である。
- FP_ZERO
-
x
が 0 である。
- FP_SUBNORMAL
-
x
を正規化形式で表現するには小さすぎる。
- FP_NORMAL
-
上記のどれにも当てはまらない場合であり、
値は通常の浮動小数点数であるはずだ。
他のマクロは、いくつかの標準的な問いに対して、簡単な答えを提供する。
- isfinite(x)
-
(fpclassify(x) != FP_NAN && fpclassify(x) != FP_INFINITE)
の場合に 0 以外の値を返す。
- isnormal(x)
-
(fpclassify(x) == FP_NORMAL)
の場合に 0 以外の値を返す。
- isnan(x)
-
(fpclassify(x) == FP_NAN)
の場合に 0 以外の値を返す。
- isinf(x)
-
x
が正の無限大の場合は 1 を、
負の無限大の場合は -1 を返す。
準拠
C99
注意
glibc 2.01 以前では、
isinf()
は
x
が無限大の場合 (正でも負でも)
0 以外の値 (実際には 1) を返す。
(C99 の要求仕様で決まっているのは
0 以外の値を返すということだけである。)
関連項目
finite(3),
INFINITY(3),
isgreater(3)
Index
- 名前
-
- 書式
-
- 説明
-
- 準拠
-
- 注意
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 04:31:40 GMT, November 19, 2007