FPCLASSIFY

Section: Linux Programmer's Manual (3)
Updated: 2017-09-15
Index JM Home 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():

_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(), isnormal(), isnan(), isinf() Thread safety MT-Safe
 

準拠

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/ に書かれている。

関連キーワード

無限大   fpclassify   マクロ   浮動   小数   点数   isfinite   isnormal   isnan   isinf   Since   versions   表現   分類   math   検査   要件   macros   種別   任意   Number   数値   無限   正規化   上記

Linux マニュアル 一覧

関連するコマンド・関数

isfinite.3   isinf.3   isnan.3   isnormal.3   scalb.3   scalbf.3
 

Index

名前
書式
説明
属性
準拠
注意
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:31 GMT, October 11, 2026