std:: sinh, std:: sinhf, std:: sinhl
|
Défini dans l'en-tête
<cmath>
|
||
| (1) | ||
|
float
sinh
(
float
num
)
;
double
sinh
(
double
num
)
;
|
(jusqu'à C++23) | |
|
/*floating-point-type*/
sinh ( /*floating-point-type*/ num ) ; |
(depuis C++23)
(constexpr depuis C++26) |
|
|
float
sinhf
(
float
num
)
;
|
(2) |
(depuis C++11)
(constexpr depuis C++26) |
|
long
double
sinhl
(
long
double
num
)
;
|
(3) |
(depuis C++11)
(constexpr depuis C++26) |
|
Surcharge SIMD
(depuis C++26)
|
||
|
Défini dans l'en-tête
<simd>
|
||
|
template
<
/*math-floating-point*/
V
>
constexpr
/*deduced-simd-t*/
<
V
>
|
(S) | (depuis C++26) |
|
Surcharges supplémentaires
(depuis C++11)
|
||
|
Défini dans l'en-tête
<cmath>
|
||
|
template
<
class
Integer
>
double sinh ( Integer num ) ; |
(A) | (constexpr depuis C++26) |
std::sinh
pour tous les types à virgule flottante non qualifiés cv comme type du paramètre.
(depuis C++23)
|
S)
La surcharge SIMD effectue un calcul
std::sinh
élément par élément sur
v_num
.
|
(depuis C++26) |
|
A)
Des surcharges supplémentaires sont fournies pour tous les types entiers, qui sont traités comme
double
.
|
(depuis C++11) |
Table des matières |
Paramètres
| num | - | valeur à virgule flottante ou entière |
Valeur de retour
If no errors occur, the hyperbolic sine of num ( sinh(num) , or|
e
num
-e -num |
| 2 |
Si une erreur de plage due à un dépassement de capacité se produit,
±HUGE_VAL
,
±HUGE_VALF
, ou
±HUGE_VALL
est renvoyé.
Si une erreur de plage se produit en raison d'un dépassement inférieur, le résultat correct (après arrondi) est retourné.
Gestion des erreurs
Les erreurs sont signalées comme spécifié dans math_errhandling .
Si l'implémentation prend en charge l'arithmétique à virgule flottante IEEE (IEC 60559),
- si l'argument est ±0 ou ±∞, il est retourné inchangé.
- si l'argument est NaN, NaN est retourné.
Notes
POSIX spécifie qu'en cas de dépassement inférieur, num est retourné inchangé, et si cela n'est pas pris en charge, une valeur définie par l'implémentation non supérieure à DBL_MIN , FLT_MIN , et LDBL_MIN est retournée.
Les surcharges supplémentaires ne sont pas requises d'être fournies exactement comme (A) . Elles doivent seulement être suffisantes pour garantir que pour leur argument num de type entier, std :: sinh ( num ) ait le même effet que std :: sinh ( static_cast < double > ( num ) ) .
Exemple
#include <cerrno> #include <cfenv> #include <cmath> #include <cstring> #include <iostream> // #pragma STDC FENV_ACCESS ON int main() { const double x = 42; std::cout << "sinh(1) = " << std::sinh(1) << '\n' << "sinh(-1) = " << std::sinh(-1) << '\n' << "log(sinh(" << x << ")+cosh(" << x << ")) = " << std::log(std::sinh(x) + std::cosh(x)) << '\n'; // valeurs spéciales std::cout << "sinh(+0) = " << std::sinh(0.0) << '\n' << "sinh(-0) = " << std::sinh(-0.0) << '\n'; // gestion des erreurs errno = 0; std::feclearexcept(FE_ALL_EXCEPT); std::cout << "sinh(710.5) = " << std::sinh(710.5) << '\n'; if (errno == ERANGE) std::cout << " errno == ERANGE: " << std::strerror(errno) << '\n'; if (std::fetestexcept(FE_OVERFLOW)) std::cout << " FE_OVERFLOW déclenchée\n"; }
Sortie :
sinh(1) = 1.1752
sinh(-1) = -1.1752
log(sinh(42)+cosh(42)) = 42
sinh(+0) = 0
sinh(-0) = -0
sinh(710.5) = inf
errno == ERANGE: Résultat numérique hors limites
FE_OVERFLOW déclenchée
Voir aussi
|
(C++11)
(C++11)
|
calcule le cosinus hyperbolique (
cosh(x)
)
(fonction) |
|
(C++11)
(C++11)
|
calcule la tangente hyperbolique (
tanh(x)
)
(fonction) |
|
(C++11)
(C++11)
(C++11)
|
calcule le sinus hyperbolique inverse (
arsinh(x)
)
(fonction) |
|
calcule le sinus hyperbolique d'un nombre complexe (
sinh(z)
)
(modèle de fonction) |
|
|
applique la fonction
std::sinh
à chaque élément du valarray
(modèle de fonction) |
|
|
Documentation C
pour
sinh
|
|