isgreater, isgreaterequal, isless, islessequal, islessgreater, isunordered -
Relations d'ordre pour nombre à virgule flottante, sans exception pour
NaN
Bibliothèque de math (
libm,
-lm)
#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);
Toutes les fonctions décrites ici :
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
Les opérateurs relationnels usuels (comme
<,
« inférieur à ») échouent si
l'un des paramètres vaut NaN (
Not a Number, ce qui signifie
« pas un nombre »). Cela déclenchera une
exception. Pour l'éviter, C99 définit les macros listées
ci-dessous.
Ces macros garantissent de n'évaluer leurs paramètres qu'une seule
fois. Les paramètres peuvent être de n'importe quel type
flottant réel (attention, il ne faut pas passer des valeurs
entières en paramètre de ces macros, ces paramètres
ne
seront pas convertis en type flottant réel).
-
isgreater()
- détermine si (x) > (y) sans
lever d'exception si x ou y vaut NaN.
-
isgreaterequal()
- détermine si (x) >= (y) sans
lever d'exception si x ou y vaut NaN.
-
isless()
- détermine si (x) < (y) sans
lever d'exception si x ou y vaut NaN.
-
islessequal()
- détermine si (x) <= (y) sans
lever d'exception si x ou y vaut NaN.
-
islessgreater()
- détermine si (x) < (y) || (x)
> (y) sans lever d'exception si x ou y vaut
NaN. Cette macro n'est pas équivalente à
x != y car cette expression est vraie si x ou
y vaut NaN.
-
isunordered()
- détermine si ses paramètres n'ont pas
d'ordre, c'est-à-dire si au moins un de ses paramètres est
un NaN.
Les macros autres que
isunordered() renvoient le résultat de la
relation d'ordre ; ces macros renvoient
0 si l'un des
paramètres est un NaN.
isunordered() renvoie
1 si
x ou
y vaut NaN et
0 sinon.
Aucune erreur ne survient.
Pour une explication des termes utilisés dans cette section, consulter
attributes(7).
Interface |
Attribut |
Valeur |
isgreater(), isgreaterequal(), isless(),
islessequal(), islessgreater(), isunordered() |
Sécurité des threads |
MT-Safe |
POSIX.1-2001, POSIX.1-2008, C99.
Tous les matériels ne supportent pas ces fonctions, et quand une gestion
matérielle n'est pas fournie, elles sont émulées par des
macros. Cela diminue les performances. Ne les utilisez pas si NaN ne vous
concerne pas.
fpclassify(3),
isnan(3)
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]>, David Prévot <
[email protected]> et
Cédric Boutillier <
[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter
à la
GNU
General Public License version 3 concernant les conditions de copie
et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
[email protected]