cosh() : calcule le cosinus hyperbolique
sinh() : calcule le sinus hyperbolique
tanh() : calcule la tangente hyperbolique
Prototype:
- double cosh( double a);
- double sinh( double a);
- double tanh( double a);
dans: <math.h>
Code objet:
dans libm.a (généralement dans le répertoire /usr/lib)
à l'édition de liens sur UNIX, précisez l'option -lm pour faire référence à la bibliothhèque /usr/lib/libm.a
exemples:
- xlc source.c -lm # système AIX.
- cc source.c -lm
Description:
Calcul de valeurs des fonctions hyperboliques.
Pour des valeurs de x, dont la valeur absolue dépasse 700, le résultat de l'évaluation de sinh(x) ou cosh(x) peut dépasser la capacité d'un double.
Valeur renvoyée:
- la valeur calculée s'il n'y a pas de problème
- en cas de débordement sinh() et cosh() renvoient HUGE_VAL et positionnent la variable errno à la valeur ERANGE.
Voir aussi:
Portabilité:
Exemple:
/*
Dans un premier temps trois appels standards sont effectués.
Puis des cas de débordement sont présentés, avec utilisation
de la variable globale errno.
*/
#include
#include
#include /* pour utilisation de MAXDOUBLE */
#include /* pour récupération de errno */
int main(void) {
double s, a=1.5;
printf("sinus hyperbolique : %lf\n", sinh(a));
printf("cosinus hyperbolique : %lf\n", cosh(a));
printf("tangente hyperbolique: %lf\n", tanh(a));
errno=0;
a=1+log(MAXDOUBLE);
s=sinh(a);
printf("\nDébordement sur sinh(%lf): %le, errno=%d\n", a, s, errno);
errno=0;
a=-1-log(MAXDOUBLE);
s=sinh(a);
printf("\nDébordement sur sinh(%lf): %le, errno=%d\n", a, s, errno);
return 0;
}