Freigeben über


isgreater, isgreaterequal, isless, islessequal, islessgreater, isunordered

Bestimmt die Sortierbeziehung zwischen zwei Gleitkommawerten.

Syntax

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 */

Parameter

x, y
Die zu vergleichenden Gleitkommawerte.

Rückgabewert

In allen Vergleichen vergleichen Sich die Infinitäten desselben Vorzeichens gleich. Negative Unendlichkeit ist kleiner als jeder endliche Wert oder positive Unendlichkeit. Positive Unendlichkeit ist größer als jeder endliche Wert oder negative Unendlichkeit. Nullen sind unabhängig vom Vorzeichen gleich. NaNs sind nicht kleiner als, gleich oder größer als ein beliebiger Wert, einschließlich eines anderen NaN.

Wenn keines der Argumente ein NaN ist, geben die Sortiermakros isgreater, isgreaterequal, isless, und islessequal geben einen Wert ungleich Null zurück, wenn die angegebene Sortierbeziehung zwischen x und y enthält "true". Diese Makros geben 0 zurück, wenn entweder oder beide Argumente NaNs sind oder wenn die Sortierbeziehung falsch ist. Die Funktionsformulare verhalten sich auf die gleiche Weise, geben aber zurück true oder false.

Das islessgreater Makro gibt einen Wert ungleich Null zurück, wenn beide x nicht naNs sind und yx entweder kleiner als oder größer als sind y. Sie gibt 0 zurück, wenn entweder oder beide Argumente NaNs sind oder wenn die Werte gleich sind. Das Funktionsformular verhält sich auf die gleiche Weise, gibt aber zurück true oder false.

Das isunordered Makro gibt einen Wert ungleich Null zurück, ywenn entweder x, oder beide NaNs sind. Andernfalls wird 0 zurückgegeben. Das Funktionsformular verhält sich auf die gleiche Weise, gibt aber zurück true oder false.

Hinweise

Diese Vergleichsvorgänge werden beim Kompilieren als C als Makros und als Inlinevorlagenfunktionen implementiert, wenn sie als C++ kompiliert werden.

Anforderungen

Funktion Erforderlicher Header (C) Erforderlicher Header (C++)
isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered
<math.h> <math.h> oder <cmath>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Siehe auch

Mathematische und Gleitkommaunterstützung
isfinite, _finite, _finitef
isinf
isnan, _isnan, _isnanf
_fpclass, _fpclassf