1. NOM

expm1, expm1f, expm1l - Exponentielle moins 1

2. SYNOPSIS

 
Sélectionnez
#include <math.h>
double expm1(double x);
float expm1f(float x);
long double expm1l(long double x);

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)) :

expm1() :
    _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
ou cc -std=c99
expm1f(), expm1l() :
    _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
ou cc -std=c99

3. DESCRIPTION

expm1(x) renvoie une valeur équivalente à :

 
Sélectionnez
    exp(x) - 1

Elle est calculée de telle manière que la précision est conservée même lorsque x est proche de zéro, alors que exp(x) - 1 serait imprécise car les deux nombres sont trop proches.

4. VALEUR RENVOYÉE

En cas de réussite, ces fonctions renvoient exp(x) - 1. Si x est un NaN, la valeur renvoyée est un NaN. Si x vaut +0 (resp. -0), +0 (resp. -0) est renvoyé. Si x est une valeur infinie positive, une valeur positive infinie est renvoyée. Si x est une valeur infinie négative, -1 est renvoyé. En cas de dépassement pour le résultat, une erreur d'intervalle se produit et les fonctions renvoient -HUGE_VAL, -HUGE_VALF ou -HUGE_VALL, respectivement.

5. ERREURS

Consultez math_error(7) pour savoir comment déterminer qu'une erreur est survenue lors de l'appel de ces fonctions.

Les erreurs suivantes peuvent se produire :

  • Erreur d'intervalle, dépassement errno est définie à ERANGE (mais consultez la section des BOGUES). Une exception de dépassement en virgule flottante (FE_OVERFLOW) est levée.

6. CONFORMITÉ

C99, POSIX.1-2001.

7. BOGUES

Pour certaines grandes valeurs négatives de x (pour lesquelles le résultat de la fonction s'approche de -1), expm1() lève à tort une exception de virgule flottante de soupassement (« underflow »). Pour certaines grandes valeurs positives de x, expm1() lève à tort une exception de virgule flottante incorrecte en plus de l'exception de dépassement et renvoie un NaN au lieu d'une valeur infinie positive. Avant la version 2.11, l'implémentation de la glibc ne définissait pas errno à ERANGE lorsqu'une erreur d'intervalle se produisait.

8. VOIR AUSSI

exp(3), log(3), log1p(3)

9. 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/.

10. 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/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Florentin Duneau 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> ».