ISGREATER

Section: Linux Programmer's Manual (3)
Updated: 2002-07-27
Index JM Home Page roff page
 

名前

isgreater, isgreaterequal, isless, islessequal, islessgreater, isunordered - 関係をテストするマクロ  

書式

#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);

-std=c99 でコンパイルし、-lm でリンクする。  

説明

(< のような) 通常の関係操作は、1 つのオペランドが 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()
x または y が NaN の場合に true となる。 それ以外の場合は false になる。
 

準拠

C99  

注意

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

関連項目

fpclassify(3), isnan(3)


 

Index

名前
書式
説明
準拠
注意
関連項目

This document was created by man2html, using the manual pages.
Time: 04:31:48 GMT, November 19, 2007