ISGREATER

Section: Linux Programmer's Manual (3)
Updated: 2017-09-15
Index JM Home Page
 

名前

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) 参照):

ここで説明する全ての関数:

_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
 

説明

(<、「小なり」のような) 通常の関係操作 (relational 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 を返す。  

エラー

エラーは発生しない。  

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性 値
isgreater(), isgreaterequal(), isless(), islessequal(), islessgreater(), isunordered() Thread safety MT-Safe
 

準拠

POSIX.1-2001, POSIX.1-2008, C99.  

注意

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

関連項目

fpclassify(3), isnan(3)  

この文書について

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

関連キーワード

マクロ   決定   浮動   関係   一方   isgreater   isgreaterequal   isless   islessequal   islessgreater   isunordered   小数   点数   判定   操作   評価   実数   整数   サポート   エミュレート   大小   math   検査   要件   macros

Linux マニュアル 一覧

関連するコマンド・関数

isgreater.3   isgreaterequal.3   isless.3   islessequal.3   isunordered.3   HUGE_VAL.3
 

Index

名前
書式
説明
返り値
エラー
属性
準拠
注意
関連項目
この文書について

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