sinh, sinhf, sinhl
Von cppreference.com
| Definiert in Header <math.h> |
||
| float sinhf( float arg ); |
(1) | (seit C99) |
| double sinh( double arg ); |
(2) | |
| long double sinhl( long double arg ); |
(3) | (seit C99) |
| Definiert in Header <tgmath.h> |
||
| #define sinh( arg ) |
(4) | (seit C99) |
1-3) Berechnet den hyperbolischen Sinus von arg.
4) Typgenerische Makrodefinition: Wenn das Argument vom Typ long double ist, wird
sinhl aufgerufen. Andernfalls, wenn das Argument vom ganzzahligen Typ oder vom Typ double ist, wird sinh aufgerufen. Andernfalls wird sinhf aufgerufen. Wenn das Argument komplex ist, ruft das Makro die entsprechende komplexe Funktion auf (csinhf, csinh, csinhl).Inhalt |
[edit] Parameter
| arg | - | Gleitkommazahl, die einen hyperbolischen Winkel darstellt |
[edit] Rückgabewert
Wenn keine Fehler auftreten, wird der hyperbolische Sinus von arg (sinh(arg) oder| earg -e-arg |
| 2 |
Wenn ein Bereichsfehler aufgrund von Überlauf auftritt, wird ±HUGE_VAL, ±HUGE_VALF oder ±HUGE_VALL zurückgegeben.
Wenn ein Bereichsfehler aufgrund eines Unterlaufs auftritt, wird das korrekte Ergebnis (nach Rundung) zurückgegeben.
[edit] Fehlerbehandlung
Fehler werden wie in math_errhandling angegeben gemeldet.
Wenn die Implementierung IEEE-Gleitkomma-Arithmetik (IEC 60559) unterstützt,
- Wenn das Argument ±0 oder ±∞ ist, wird es unverändert zurückgegeben.
- Wenn das Argument NaN ist, wird NaN zurückgegeben.
[edit] Hinweise
POSIX schreibt vor, dass im Falle eines Unterlaufs arg unverändert zurückgegeben wird. Wenn dies nicht unterstützt wird, wird ein implementierungsabhängiger Wert zurückgegeben, der nicht größer ist als DBL_MIN, FLT_MIN und LDBL_MIN.
[edit] Beispiel
Führen Sie diesen Code aus
#include <errno.h> #include <fenv.h> #include <math.h> #include <stdio.h> // #pragma STDC FENV_ACCESS ON int main(void) { printf("sinh(1) = %f\nsinh(-1)=%f\n", sinh(1), sinh(-1)); printf("log(sinh(1) + cosh(1))=%f\n", log(sinh(1) + cosh(1))); // special values printf("sinh(+0) = %f\nsinh(-0)=%f\n", sinh(0.0), sinh(-0.0)); // error handling errno = 0; feclearexcept(FE_ALL_EXCEPT); printf("sinh(710.5) = %f\n", sinh(710.5)); if (errno == ERANGE) perror(" errno == ERANGE"); if (fetestexcept(FE_OVERFLOW)) puts(" FE_OVERFLOW raised"); }
Mögliche Ausgabe
sinh(1) = 1.175201
sinh(-1)=-1.175201
log(sinh(1) + cosh(1))=1.000000
sinh(+0) = 0.000000
sinh(-0)=-0.000000
sinh(710.5) = inf
errno == ERANGE: Numerical result out of range
FE_OVERFLOW raised[edit] Referenzen
- C23-Standard (ISO/IEC 9899:2024)
- 7.12.5.5 The sinh functions (S. TBD)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. TBD)
- F.10.2.5 The sinh functions (S. TBD)
- C17-Standard (ISO/IEC 9899:2018)
- 7.12.5.5 The sinh functions (S. 176)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. 272-273)
- F.10.2.5 The sinh functions (S. 379)
- C11-Standard (ISO/IEC 9899:2011)
- 7.12.5.5 The sinh functions (S. 241-242)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. 373-375)
- F.10.2.5 The sinh functions (S. 520)
- C99-Standard (ISO/IEC 9899:1999)
- 7.12.5.5 The sinh functions (S. 222)
- 7.22 Typ-generische Mathematik <tgmath.h> (S. 335-337)
- F.9.2.5 The sinh functions (S. 457)
- C89/C90-Standard (ISO/IEC 9899:1990)
- 4.5.3.2 The sinh function
[edit] Siehe auch
| (C99)(C99) |
berechnet Kosinus hyperbolicus (cosh(x)) (Funktion) |
| (C99)(C99) |
berechnet Tangens hyperbolicus (tanh(x)) (Funktion) |
| (C99)(C99)(C99) |
berechnet inversen Sinus hyperbolicus (arsinh(x)) (Funktion) |
| (C99)(C99)(C99) |
berechnet den komplexen hyperbolischen Sinus (Funktion) |
| C++-Dokumentation für sinh
| |