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 y
x
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, y
wenn 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 Unterstützung und Gleitkommaunterstützung
isfinite
, _finite
_finitef
isinf
isnan
, _isnan
_isnanf
_fpclass
, _fpclassf