zion - isgreater
Nom
isgreater, isgreaterequal, isless, islessgreater, isunordered - macros vérifiant les relations d'ordre.
Résumé
.nf #include <math.h> int isgreater(x,y); int isgreaterequal(x,y); int isless(x,y); int islessequal(x,y); int islessgreater(x,y); int isunordered(x,y); .fi
Description
L'opérateur normal de relation (comme <) échouera si l'un des opérandes est le non-nombre NaN. Ceci déclenche une exception. Pour l'éciter, C99 définit ces macros. Elles garantissent de n'évaluer leurs opérandes qu'une seule fois. Ces opérandes peuvent être n'importe quel type réel.
isgreater() détermine si (x) > (y) sans erreur si x ou y vaut NaN. |
isgreaterequal() détermine si (x) >= (y) sans erreur si x ou y vaut NaN. |
isless() détermine si (x) < (y) sans erreur si x ou y vaut NaN. |
islessequal() détermine si (x) <= (y) sans erreur si x ou y vaut NaN. |
islessgreater() détermine si (x) < (y) || (x) > (y) sans erreur si x ou y vaut NaN. Cette macro n'est pas équivalente à x != y cette expression est vraie si x ou y vaut NaN. |
isunordered() est vraie si x ou y vaut NaN et fausse sinon. |
Note
Tous les matériels ne supportent pas ces fonctions et lorsqu'ils ne le font pas, elle sont émulées par des macros. Cela diminue les performances. Ne les utilisez pas si NaN ne vous concerne pas.
Conformité
C99
Voir aussi
fpclassify (3), isnan(3)
Traduction
Christophe Blaess, 2003.
Poster un commentaire