INFNAN(3)

NOM
infnan - Traiter un résultat infini ou non-numérique (NaN)

SYNOPSIS
#include <math.h>

double infnan (int error);

DESCRIPTION
La fonction infnan() renvoie une valeur acceptable pour un résultat infini ou non numérique (« NaN », Not a Number). La valeur error peut être ERANGE pour indiquer l'infini, ou n'importe quoi d'autre pour représenter NaN. errno est également renseignée.

VALEUR RENVOYÉE
Si error vaut ERANGE (Infini), HUGE_VAL est renvoyé.

Si error vaut -ERANGE (-Infini), -HUGE_VAL est renvoyé.

Si error vaut autre chose, NAN est renvoyé.

ERREURS

EDOM
    La valeur de error est non-numérique (NaN).

ERANGE
    La valeur de error est infinie (positive ou négative).

CONFORMITÉ
BSD 4.3

NOTES
Cette fonction, obsolète, était fournie dans la libc4 et la libc5, mais n'est plus disponible dans la glibc 2 .

Pour utiliser les fonctions de la bibliothèque mathématique, il ne faut pas oublier d'ajouter l'argument -lm sur la ligne de commande de cc(1) ou ld(1), lors de l'édition des liens.

EXEMPLE
    #include <signal.h>
    #include <math.h>
    #include <stdio.h>
int
main (void)
{
    double x;
    /* Ignorer le signal d'erreur pour division par zéro */
    signal (SIGFPE, SIG_IGN);
    x = 1.0;
    x = x / 0.0;
    printf ("x = 1.0/0.0, isnan (x) = %d\n", isnan (x));
    printf ("             isinf (x) = %d\n", isinf (x));
    x = 0.0;
    x = x / 0.0;
    printf ("x = 0.0/0.0, isnan (x) = %d\n", isnan (x));
    printf ("             isinf (x) = %d\n", isinf (x));
    exit (EXIT_SUCCESS);
}
$ ./a.out
x = 1.0/0.0, isnan (x) = 0
             isinf (x) = 1
x = 0.0/0.0, isnan (x) = 1
             isinf (x) = 0

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 4 novembre 1996 et révisée le 10 décembre 2007.

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 infnan ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.