名 前
nan, nanf, nanl − 無 効 値 (’Not a Number’) を 返 す
書 式
#include <math.h>
double
nan(const char *tagp);
float nanf(const char *tagp);
long double nanl(const char *tagp);
−lm で リ ン ク す る 。
glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ):
nan(), nanf(), nanl():
_XOPEN_SOURCE >= 600
|| _ISOC99_SOURCE ||
_POSIX_C_SOURCE >= 200112L;
or cc −std=c99
説 明
こ れ ら の 関 数 は 、 SIGFPE シ グ ナ ル な し の 無 効 値 (NaN) を 示 す 表 現 を 返 す (ど の 表 現 を 使 用 す る か は tagp で 指 定 す る )。 SIGFPE シ グ ナ ル な し の NaN を サ ポ ー ト し て い な い 実 装 で は 0 を 返 す 。
nan("char−sequence") を 呼 び 出 す の は 、 以 下 と 等 価 で あ る 。
strtod("NAN(char−sequence)", NULL); 同 様 に 、 nanf() や nanl() を 呼 び 出 す の は 、 strtof() や strtold() を 呼 ぶ の と 同 じ で あ る 。 引 き 数 tagp の 使 い 方 は 規 定 さ れ て い な い 。 IEEE 754 準 拠 の シ ス テ ム で は 、 NaN に も 複 数 の 表 現 が 存 在 し 、 tagp は そ の 選 択 に 使 用 さ れ る 。 他 の シ ス テ ム で は 、 何 の 意 味 も な い か も し れ な い 。
バ ー ジ ョ ン
こ れ ら の 関 数 は glibc バ ー ジ ョ ン 2.1 で 初 め て 登 場 し た 。
準 拠
C99, POSIX.1−2001. IEC 559 や 推 奨 関 数 に な っ て い る IEEE 754/IEEE 854 の 付 録 も 参 照 す る こ と 。
関 連 項 目
isnan(3), strtod(3), math_error(7)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。