Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Fonctions expm1, expm1f et expm1l

Entête à inclure

#include <math.h>  // <cmath> en C++

Fonctions expm1, expm1f et expm1l

double expm1( double x );
float expm1f( float x );                      // C99
long double expm1l( long double x );          // C99

Ces trois fonctions permettent de calculer la valeur de ex - 1 (ou e représente la constante de Néper, soit environ 2.7182818284590452354).

La différence entre ces trois fonctions réside dans le type de données utilisé pour le paramètre et la valeur de retour (double, float ou long double). Les fonctions expm1f et expm1l ont été ajoutées dans C99.

Paramètre

Valeur de retour

Exemple de code

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

int main() {

    printf( "expm1(0) == %lf\n", expm1(0) );
    printf( "expm1(1) == %lf\n", expm1(1) );
    printf( "expm1(2) == %lf\n", expm1(2) );
    printf( "expm1(3) == %lf\n", expm1(3) );

    return EXIT_SUCCESS;
}
Exemple d'utilisation de la fonction expm1.

Il est à noter que la librairie mathématique doit être ajoutée durant l'étape de "link" (édition des liens) de votre exécutable. Cela se réalise en ajoutant l'option -lm à votre compilateur GCC. En cas d'utilisation d'un autre compilateur, je vous renvoie vers la documentation de ce dernier.

$>  gcc -o sample sample.c -lm
$>  ./sample
expm1(0) == 0.000000
expm1(1) == 1.718282
expm1(2) == 6.389056
expm1(3) == 19.085537
$> 

Sujets connexes

La macro M_E

Les fonctions exp, expf et expl
Les fonctions exp2, exp2f et exp2l
Les fonctions exp10, exp10f et exp10l
Les fonctions log, logf et logl