Provided by: manpages-ja-dev_0.5.0.0.20221215+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():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
       isnan():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
               || _XOPEN_SOURCE
               || /* Since glibc 2.19: */ _DEFAULT_SOURCE
               || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
       isinf():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
               || /* Since glibc 2.19: */ _DEFAULT_SOURCE
               || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

説明

       浮動小数点数は無限大や  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 を返す。

属性

       この節で使用されている用語の説明については、 attributes(7) を参照。

       ┌─────────────────────────────┬───────────────┬─────────┐
       │インターフェース属性      │
       ├─────────────────────────────┼───────────────┼─────────┤
       │fpclassify(), isfinite(),    │ Thread safety │ MT-Safe │
       │isnormal(), isnan(), isinf() │               │         │
       └─────────────────────────────┴───────────────┴─────────┘

準拠

       POSIX.1-2001, POSIX.1-2008, C99.

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

注意

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

関連項目

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

この文書について

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

                                            2017-09-15                              FPCLASSIFY(3)