#include <math.h> // <cmath> en C++
double acosh( double value );
float acoshf( float value ); // C99
long double acoshl( long double value ); // C99
Ces trois fonctions permettent de calculer l'arc cosinus hyperbolique d'une valeur supérieure ou égale à 1. En mathématiques, l'arc cosinus hyperbolique est la fonction inverse de la fonction cosinus hyperbolique.
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 acoshf
et acoshl
ont été ajoutées dans C99.
x2 - y2 = 1
au lieu du cercle unité d'équation x2 + y2 = 1
.
Si la valeur passée est supérieure ou égale à 1, ces fonctions renvoient l'arc cosinus hyperbolique demandé (une valeur positive). Dans le cas contraire, ces fonctions renvoient une valeur NaN (Not A Number) et la variable globale errno contiendra le code d'erreur EDOM (Erreur de DOMaine).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include <math.h> #include <stdio.h> #include <stdlib.h> int main() { double value; printf( "Saisir une valeur : " ); scanf( "%lf", &value ); printf( "acosh(%lf) == %lf\n", value, acosh( value ) ); printf( "asinh(%lf) == %lf\n", value, asinh( value ) ); return EXIT_SUCCESS; } |
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 Saisir une valeur : 2 acosh(2.000000) == 1.316958 asinh(2.000000) == 1.443635 $>
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 :