Provided by: manpages-ja-dev_0.5.0.0.20131015+dfsg-2_all bug

名前

       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 || _POSIX_C_SOURCE >= 200112L;
           or cc -std=c99
       isnan():
           _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE || _ISOC99_SOURCE ||
           _POSIX_C_SOURCE >= 200112L;
           or cc -std=c99
       isinf():
           _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE ||
           _POSIX_C_SOURCE >= 200112L;
           or 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)   以下の場合に 0 以外の値を返す。
                     (fpclassify(x) != FP_NAN && fpclassify(x) != FP_INFINITE)

       isnormal(x)   (fpclassify(x) == FP_NORMAL)  の場合に 0 以外の値を返す。

       isnan(x)      (fpclassify(x) == FP_NAN)  の場合に 0 以外の値を返す。

       isinf(x)      x が正の無限大の場合は 1 を、 負の無限大の場合は -1 を返す。

属性

   マルチスレッディング (pthreads(7) 参照)
       マクロ fpclassify(), isfinite(), isnormal(), isnan(), isinf() はスレッドセーフである。

準拠

       C99, POSIX.1.

       isinf()  に関して、標準規格で定められているのは、 返り値が 0  以外になるのは引き数が無限大
       の場合だけということだけである。

注意

       glibc  2.01 以前では、 isinf()  は x が正の無限大か負の無限大の場合、 0 以外の値 (実際には
       1) を返す (C99 の要求仕様で決まっているのは 0 以外の値を返すということだけである)。

関連項目

       finite(3), INFINITY(3), isgreater(3), signbit(3)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 3.54 の一部  である。プロジェクト
       の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。

                                            2013-08-06                              FPCLASSIFY(3)