次の方法で共有


isgreaterisgreaterequalislessislessequalislessgreaterisunordered

2 つの浮動小数点値の間の順序付け関係を判別します。

構文

int isgreater(
   /* floating-point */ x,
   /* floating-point */ y
); /* C-only macro */

int isgreaterequal(
   /* floating-point */ x,
   /* floating-point */ y
); /* C-only macro */

int isless(
   /* floating-point */ x,
   /* floating-point */ y
); /* C-only macro */

int islessequal(
   /* floating-point */ x,
   /* floating-point */ y
); /* C-only macro */

int islessgreater(
   /* floating-point */ x,
   /* floating-point */ y
); /* C-only macro */

int isunordered(
   /* floating-point */ x,
   /* floating-point */ y
); /* C-only macro */
template <class FloatingType1, class FloatingType2>
inline bool isgreater(
   FloatingType1 x,
   FloatingType2 y
) throw(); /* C++-only template function */

template <class FloatingType1, class FloatingType2>
inline bool isgreaterequal(
   FloatingType1 x,
   FloatingType2 y
) throw(); /* C++-only template function */

template <class FloatingType1, class FloatingType2>
inline bool isless(
   FloatingType1 x,
   FloatingType2 y
) throw(); /* C++-only template function */

template <class FloatingType1, class FloatingType2>
inline bool islessequal(
   FloatingType1 x,
   FloatingType2 y
) throw(); /* C++-only template function */

template <class FloatingType1, class FloatingType2>
inline bool islessgreater(
   FloatingType1 x,
   FloatingType2 y
) throw(); /* C++-only template function */

template <class FloatingType1, class FloatingType2>
inline bool isunordered(
   FloatingType1 x,
   FloatingType2 y
) throw(); /* C++-only template function */

パラメーター

x, y
比較する浮動小数点値。

戻り値

すべての比較において、同じ符号の無限大は等しいものとして比較されます。 負の無限大は、有限値または正の無限大より小さい値です。 正の無限大は、有限値または負の無限大より大きい値です。 ゼロは符号に関係なく等しくなります。 NaN は、別の NaN を含め、任意の値より小さい、等しい、または大きい値ではありません。

どちらの引数も NaN でない場合、順序付けマクロ isgreaterisgreaterequalisless、および islessequal は、 xy の間の指定された順序関係が true の場合、0 以外の値を返します。 これらのマクロでは、いずれかの引数または両方の引数が NaN の場合、または順序関係が偽である場合、0 を返します。 関数形式も同様に動作しますが、true または false が返されます。

islessgreater マクロは、xyの両方が NaN ではなく、xy より小さいか大きい場合、0 以外の値を返します。 いずれかの引数または両方の引数が NaN の場合、または値が等しい場合、0 が返されます。 関数形式も同様に動作しますが、true または false が返 されます。

isunordered マクロは、xy、または両方が NaN の場合、0 以外の値を返します。 それ以外の場合は 0 を返します。 関数形式も同様に動作しますが、true または false が返 されます。

解説

これらの比較操作は、C としてコンパイルする場合はマクロとして実装され、C++ としてコンパイルする場合はインライン テンプレート関数として実装されます。

要件

機能 必須ヘッダー (C) 必須ヘッダー (C++)
isgreaterisgreaterequalisless
islessequalislessgreaterisunordered
<math.h> <math.h> または <cmath>

互換性の詳細については、「 Compatibility」を参照してください。

関連項目

数値演算と浮動小数点のサポート
isfinite_finite_finitef
isinf
isnan_isnan_isnanf
_fpclass, _fpclassf