Manpages

名 前

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() は xy が NaN の 場 合 1 を 、 そ れ 以 外 の 場 合 0 を 返 す 。

エ ラ ー

エ ラ ー は 発 生 し な い 。

属 性

マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 ) マ ク ロ isgreater(), isgreaterequal(), isless(), islessequal(), islessgreater(), isunordered() は ス レ ッ ド セ ー フ で あ る 。

準 拠

C99, POSIX.1−2001.

注 意

こ れ ら の 関 数 は 全 て の ハ ー ド ウ ェ ア で サ ポ ー ト さ れ て い る わ け で は な い 。 サ ポ ー ト さ れ て い な い 場 合 は 、 マ ク ロ で エ ミ ュ レ ー ト さ れ る 。 エ ミ ュ レ ー ト さ れ る 場 合 は 、 性 能 上 で の 不 利 と な る 。 NaN に つ い て 心 配 し な く て 構 わ な い 場 合 は 、 こ れ ら の 関 数 を 使 わ な い こ と 。

関 連 項 目

fpclassify(3), isnan(3)

こ の 文 書 に つ い て

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