_isnan, _isnanl
float.h:インデックス への移動
ヘッダーファイル
float.h
カテゴリ
分類ルーチン,演算ルーチン
プロトタイプ
int _isnan(double d);
int _isnanl(long double ld);
説明
指定された倍精度浮動小数点値 d が NaN かどうかをテストします。
_isnanl は long double バージョンで,long double 引数を受け取ります。
戻り値
渡された値が NaN の場合は,0 以外の値(True)を返します。そうでない場合は,0(False)を返します。0 以外の戻り値は,_FPCLASS_SNAN(NaN が通知型の場合)または _FPCLASS_QNAN(NaN が非通知型の場合)のいずれかです。_FPCLASS_SNAN と _FPCLASS_QNAN の値は,float.h で定義されています。
コード例
#include <math.h>
int print_double(double value)
{
/* print "Infinite" if value is NaN */
if (_isnan(value))
printf("Infinite");
else
printf("%f", value);
}
移植性
| POSIX | Win32 | ANSI C | ANSI C++ | |
|---|---|---|---|---|
|
_isnan |
+ |
|||
|
_isnanl |
+ |