1. NOM

nan, nanf, nanl - Fonctions renvoyant « Not a Number »

2. SYNOPSIS

#include <math.h>

double nan(const char *tagp);
float nanf(const char *tagp);
long double nanl(const char *tagp);

Effectuez l'édition des liens avec l'option -lm.

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

nan(), nanf(), nanl() :
    _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
ou cc -std=c99

3. DESCRIPTION

Ces fonctions renvoient une représentation (déterminée par tagp) d'un NaN (« Not A Number », élément non numérique indiquant un cas d'erreur dans les routines mathématiques) silencieux. Si cette implémentation ne supporte pas les NaN, ces fonctions renvoient zéro.

L'appel nan("char-sequence") est équivalent à :

 
Sélectionnez
    strtod("NAN(char-sequence)", NULL);

Et de même, les appels à nanf() et nanl() sont équivalents aux appels analogues à strtof(3) et strtold(3).

L'argument tagp est utilisé de manière non spécifiée. Sur les systèmes IEEE 754, il existe de nombreuses représentations de NaN, et tagp en sélectionne une. Sur les autres systèmes, il peut n'avoir aucun effet.

4. VERSIONS

Ces fonctions ont été introduites dans la glibc dans sa version 2.1.

5. CONFORMITÉ

C99, POSIX.1-2001. Consultez aussi IEC 559 et l'annexe sur les fonctions recommandées dans IEEE 754/IEEE 854.

6. VOIR AUSSI

isnan(3), strtod(3), math_error(7)

7. COLOPHON

Cette page fait partie de la publication 3.52 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

8. TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Thierry Vignaud (2002), Alain Portal <http://manpagesfr.free.fr/> (2006). Nicolas François et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».