FPCLASSIFY(3)

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.