isgreater
, , isgreaterequal
, islessequal
isless
, , islessgreater
isunordered
Détermine la relation de classement entre deux valeurs à virgule flottante.
Syntaxe
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 */
Paramètres
x
, y
Valeurs à virgule flottante à comparer.
Valeur retournée
Dans toutes les comparaisons, les infinités du même signe comparent comme égal. L’infini négatif est inférieur à n’importe quelle valeur finie ou à l’infini positif. L’infini positif est supérieur à toute valeur finie ou à l’infini négatif. Les zéros sont égaux, quel que soit le signe. Les noms nans ne sont pas inférieurs, égaux ou supérieurs à n’importe quelle valeur, y compris un autre naN.
Quand aucun argument n’est un NaN, les macros isgreater
de classement , isgreaterequal
, isless
et islessequal
retournent une valeur non nulle si la relation d’ordre spécifiée entre x
et y
contient la valeur true. Ces macros retournent 0 si l’un ou les deux arguments sont NaNs ou si la relation de classement est false. Les formulaires de fonction se comportent de la même façon, mais retournent true
ou false
.
La islessgreater
macro retourne une valeur non nulle si les deux x
et y
ne sont pas naNs, et x
est inférieure ou supérieure à y
. Elle retourne 0 si l’un ou les deux arguments sont NaNs, ou si les valeurs sont égales. Le formulaire de fonction se comporte de la même façon, mais retourne true
ou false
.
La isunordered
macro retourne une valeur non nulle si l’un ou l’autre x
, y
ou les deux sont des naNs. Sinon, retourne 0. Le formulaire de fonction se comporte de la même façon, mais retourne true
ou false
.
Notes
Ces opérations de comparaison sont implémentées en tant que macros lorsqu’elles sont compilées en tant que C et en tant que fonctions de modèle inline lorsqu’elles sont compilées en C++.
Spécifications
Fonction | En-tête requis (C) | En-tête requis (C++) |
---|---|---|
isgreater , , isgreaterequal isless , ,islessequal , , islessgreater isunordered |
<math.h> | <math.h> ou <cmath> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Voir aussi
Prise en charge des fonctions mathématiques et à virgule flottante
isfinite
, , _finite
_finitef
isinf
isnan
, , _isnan
_isnanf
_fpclass
, _fpclassf