Partager via


isgreater, , isgreaterequal, islessequalisless, , islessgreaterisunordered

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 isgreaterde classement , isgreaterequal, islesset 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, you 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, , isgreaterequalisless, ,
islessequal, , islessgreaterisunordered
<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