Provided by: manpages-ja-dev_0.5.0.0.20180315+dfsg-1_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.79 の一部 である。プロジェクトの説明とバグ報告
       に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。

                                                   2013-08-06                                      FPCLASSIFY(3)