FPCLASSIFY

Section : Manuel du programmeur Linux (3)
Mise à jour de la version anglaise : 26 juillet 2007
Index Menu principal  

NOM

fpclassify, isfinite, isnormal, isnan, isinf - Macros de classification en virgule flottante  

SYNOPSIS

#include <math.h>

int fpclassify(x);

int isfinite(x);

int isnormal(x);

int isnan(x);

int isinf(x);

Utilisez -std=c99 à la compilation ; utilisez -lm à l'édition de liens pour lier avec la bibliothèque mathématique.

Exigences de macros de test de fonctionnalités pour la glibc (voir feature_test_macros(7)) :

fpclassify(), isfinite(), isnormal() : _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE ; ou cc -std=c99
isnan() : _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE || _ISOC99_SOURCE ; ou cc -std=c99
isinf() : _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE ; ou cc -std=c99  

DESCRIPTION

Les nombres en virgule flottante peuvent avoir des valeurs spéciales, telles que les infinis ou NaN. Avec la macro fpclassify(x) vous pouvez connaître le type de x. La macro prend en argument n'importe quel type d'expression en virgule flottante. Le résultat est l'une des valeurs suivantes :
FP_NAN
x est un « non-nombre ».
FP_INFINITE
x vaut plus ou moins l'infini.
FP_ZERO
x est nul.
FP_SUBNORMAL
x est trop petit pour être représenté au format normalisé.
FP_NORMAL
si aucun des cas précédents n'est vrai, alors c'est qu'il doit s'agir d'un nombre réel normal.

Les autres macros fournissent une réponse courte à des questions standard.

isfinite(x)
renvoie une valeur non nulle si
(fpclassify(x) != FP_NAN && fpclassify(x) != FP_INFINITE)
isnormal(x)
renvoie une valeur non nulle si
(fpclassify(x) == FP_NORMAL)
isnan(x)
renvoie une valeur non nulle si
(fpclassify(x) == FP_NAN)
isinf(x)
renvoie 1 si x vaut plus l'infini, et -1 si x vaut moins l'infini.
 

CONFORMITÉ

C99.  

NOTES

Dans la glibc 2.01 et antérieures, isinf() renvoie une valeur non nulle (actuellement : 1) si x est un infini (positif ou négatif). (C'est ainsi dans les recommandations de C99).  

VOIR AUSSI

finite(3), INFINITY(3), isgreater(3)  

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 30 juillet 2003 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 fpclassify ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.

 

Index

NOM
SYNOPSIS
DESCRIPTION
CONFORMITÉ
NOTES
VOIR AUSSI
TRADUCTION

Dernière mise à jour : 17 juillet 2008