名 前
isgreater, isgreaterequal, isless, islessequal, islessgreater, isunordered − NaN に 対 し て 例 外 を 発 生 せ ず に 、 浮 動 小 数 点 数 の 大 小 関 係 の 判 定 を 行 う
書 式
#include <math.h>
int isgreater(x, y);
int isgreaterequal(x, y);
int isless(x, y);
int islessequal(x, y);
int islessgreater(x, y);
int isunordered(x, y);
−lm で リ ン ク す る 。
glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ): こ こ で 説 明 す る 全 て の 関 数 :
_XOPEN_SOURCE >= 600
|| _ISOC99_SOURCE ||
_POSIX_C_SOURCE >= 200112L;
or cc −std=c99
説 明
(<、
「 小 な り 」 の
よ う な ) 通 常 の
関 係 操 作 (relation operations)
は 、 オ ペ ラ ン
ド の 一 方 が NaN の
場 合 に は 失 敗
す る 。 こ れ は
例 外 の 原 因 に
な る 。 こ れ を
避 け る た め 、 C99
で は 以 下 の リ
ス ト に 示 す マ
ク ロ を 定 義 し
て い る 。 こ れ
ら の マ ク ロ で
は 、 引 き 数 を 1
回 だ け 評 価 す
る こ と が 保 証
さ れ て い る 。
引 き 数 に は 実
数 の 浮 動 小 数
点 数 型 を 指 定
し な け れ ば な
ら な い 。 (注 意 :
こ れ ら の マ ク
ロ の 引 き 数 に
整 数 値 を 渡 さ
な い こ と 。 な
ぜ な ら 整 数 値
の 引 き 数 は 実
数 の 浮 動 小 数
点 型 に 変 換 さ
れ な い か ら で
あ る 。 )
isgreater()
(x) > (y) を 決 定 す る 。 x ま た は y が NaN で も 例 外 を 発 生 し な い 。
isgreaterequal()
(x) >= (y) を 決 定 す る 。 x ま た は y が NaN で も 例 外 を 発 生 し な い 。
isless()
(x) < (y) を 決 定 す る 。 x ま た は y が NaN で も 例 外 を 発 生 し な い 。
islessequal()
(x) <= (y) を 決 定 す る 。 x ま た は y が NaN で も 例 外 を 発 生 し な い 。
islessgreater()
(x) < (y) || (x) > (y) を 決 定 す る 。 x ま た は y が NaN で も 例 外 を 発 生 し な い 。 こ の マ ク ロ は x != y と 等 価 で は な い 。 な ぜ な ら 、 こ の 評 価 式 は x ま た は y が NaN の 場 合 に true と な る た め で あ る 。
isunordered() 引 き 数 が unordered か ど う か 、 つ ま り 引 き 数 の 少 な く と も 一 方 が NaN か ど う か を 判 定 す る 。
返 り 値
isunordered() 以 外 の マ ク ロ は 関 係 操 作 の 結 果 を 返 す 。 一 方 の 引 き 数 が NaN の 場 合 、 こ れ ら の マ ク ロ は 0 を 返 す 。
isunordered() は x か y が NaN の 場 合 1 を 、 そ れ 以 外 の 場 合 0 を 返 す 。
エ ラ ー
エ ラ ー は 発 生 し な い 。
属 性
マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 ) マ ク ロ isgreater(), isgreaterequal(), isless(), islessequal(), islessgreater(), isunordered() は ス レ ッ ド セ ー フ で あ る 。
準 拠
C99, POSIX.1−2001.
注 意
こ れ ら の 関 数 は 全 て の ハ ー ド ウ ェ ア で サ ポ ー ト さ れ て い る わ け で は な い 。 サ ポ ー ト さ れ て い な い 場 合 は 、 マ ク ロ で エ ミ ュ レ ー ト さ れ る 。 エ ミ ュ レ ー ト さ れ る 場 合 は 、 性 能 上 で の 不 利 と な る 。 NaN に つ い て 心 配 し な く て 構 わ な い 場 合 は 、 こ れ ら の 関 数 を 使 わ な い こ と 。
関 連 項 目
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。