Namensräume
Varianten
Aktionen

atanh, atanhf, atanhl

Von cppreference.com
< c‎ | numerik‎ | math
 
 
 
Allgemeine mathematische Funktionen
Funktionen
Grundlegende Operationen
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
Maximum/Minimum-Operationen
(C99)
(C99)
Exponentialfunktionen
(C23)
(C99)
(C99)
(C23)
(C23)

(C99)
(C99)(C23)
(C23)
(C23)
Potenzfunktionen
(C99)
(C23)
(C23)

(C99)
(C23)
(C23)
Trigonometrische und hyperbolische Funktionen
(C23)
(C23)
(C23)
(C23)
(C99)
(C99)
atanh
(C99)
Nächste ganze Gleitkommazahlen
(C99)(C99)(C99)
(C99)

(C99)(C99)(C99)
(C23)(C23)(C23)(C23)
Gleitkomma-Manipulation
(C99)(C99)
(C99)(C23)
(C99)
Verengende Operationen
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
Quanten- und Quantenexponent-Funktionen
Dezimal-Neu-Kodierungsfunktionen
Gesamtordnung und Payload-Funktionen
Klassifizierung
(C99)
(C99)
(C99)
(C23)
Fehler- und Gammafunktionen
(C99)
(C99)
(C99)
(C99)
Typen
Makrokonstanten
Spezielle Gleitkommawerte
(C99)(C23)
Argumente und Rückgabewerte
Fehlerbehandlung
Schnelle Operationsanzeigen
 
Definiert in Header <math.h>
float       atanhf( float arg );
(1) (seit C99)
double      atanh( double arg );
(2) (seit C99)
long double atanhl( long double arg );
(3) (seit C99)
Definiert in Header <tgmath.h>
#define atanh( arg )
(4) (seit C99)
1-3) Berechnet den inversen hyperbolischen Tangens von arg.
4) Typgenerische Makro: Wenn das Argument vom Typ long double ist, wird atanhl aufgerufen. Andernfalls, wenn das Argument einen ganzzahligen Typ oder den Typ double hat, wird atanh aufgerufen. Andernfalls wird atanhf aufgerufen. Wenn das Argument komplex ist, ruft das Makro die entsprechende komplexe Funktion auf (catanhf, catanh, catanhl).

Inhalt

[bearbeiten] Parameter

arg - Gleitkommazahl, die die Fläche eines hyperbolischen Sektors darstellt

[bearbeiten] Rückgabewert

Wenn keine Fehler auftreten, wird der inverse hyperbolische Tangens von arg (tanh-1
(arg)
oder artanh(arg)) zurückgegeben.

Wenn ein Domänenfehler auftritt, wird ein implementierungsabhängiger Wert zurückgegeben (NaN, wo unterstützt).

Wenn ein Polfehler auftritt, wird ±HUGE_VAL, ±HUGE_VALF oder ±HUGE_VALL zurückgegeben (mit dem korrekten Vorzeichen).

Wenn ein Bereichsfehler aufgrund eines Unterlaufs auftritt, wird das korrekte Ergebnis (nach Rundung) zurückgegeben.

[bearbeiten] Fehlerbehandlung

Fehler werden wie in math_errhandling angegeben gemeldet.

Wenn das Argument nicht im Intervall [-1+1] liegt, tritt ein Bereichsfehler auf.

Wenn das Argument ±1 ist, tritt ein Polfehler auf.

Wenn die Implementierung IEEE-Gleitkomma-Arithmetik (IEC 60559) unterstützt,

  • Wenn das Argument ±0 ist, wird es unverändert zurückgegeben.
  • Wenn das Argument ±1 ist, wird ±∞ zurückgegeben und FE_DIVBYZERO wird ausgelöst.
  • Wenn |arg|>1, wird NaN zurückgegeben und FE_INVALID wird ausgelöst.
  • Wenn das Argument NaN ist, wird NaN zurückgegeben.

[bearbeiten] Hinweise

Obwohl der C-Standard diese Funktion als "Arcus hyperbolischer Tangens" bezeichnet, sind die inversen Funktionen der hyperbolischen Funktionen die Flächenfunktionen. Ihr Argument ist die Fläche eines hyperbolischen Sektors, nicht eines Bogens. Der korrekte Name ist "inverser hyperbolischer Tangens" (von POSIX verwendet) oder "Flächenhyperbolischer Tangens".

POSIX gibt vor, dass bei einem Unterlauf arg unverändert zurückgegeben wird, und wenn dies nicht unterstützt wird, ein implementierungsabhängiger Wert von höchstens DBL_MIN, FLT_MIN und LDBL_MIN zurückgegeben wird.

[bearbeiten] Beispiel

#include <errno.h>
#include <fenv.h>
#include <float.h>
#include <math.h>
#include <stdio.h>
// #pragma STDC FENV_ACCESS ON
 
int main(void)
{
    printf("atanh(0) = %f\natanh(-0) = %f\n", atanh(0), atanh(-0.0));
    printf("atanh(0.9) = %f\n", atanh(0.9));
 
    // error handling
    errno = 0; feclearexcept(FE_ALL_EXCEPT);
    printf("atanh(-1) = %f\n", atanh(-1));
    if (errno == ERANGE)
        perror("    errno == ERANGE");
    if (fetestexcept(FE_DIVBYZERO))
        puts("    FE_DIVBYZERO raised");
}

Mögliche Ausgabe

atanh(0) = 0.000000
atanh(-0) = -0.000000
atanh(0.9) = 1.472219
atanh(-1) = -inf
    errno == ERANGE: Numerical result out of range
    FE_DIVBYZERO raised

[bearbeiten] Referenzen

  • C23-Standard (ISO/IEC 9899:2024)
  • 7.12.5.3 Die atanh-Funktionen (S. 241)
  • 7.25 Typ-generische Mathematik <tgmath.h> (S. 373-375)
  • F.10.2.3 Die atanh-Funktionen (S. 520)
  • C17-Standard (ISO/IEC 9899:2018)
  • 7.12.5.3 Die atanh-Funktionen (S. TBD)
  • 7.25 Typ-generische Mathematik <tgmath.h> (S. TBD)
  • F.10.2.3 Die atanh-Funktionen (S. TBD)
  • C11-Standard (ISO/IEC 9899:2011)
  • 7.12.5.3 Die atanh-Funktionen (S. 241)
  • 7.25 Typ-generische Mathematik <tgmath.h> (S. 373-375)
  • F.10.2.3 Die atanh-Funktionen (S. 520)
  • C99-Standard (ISO/IEC 9899:1999)
  • 7.12.5.3 Die atanh-Funktionen (S. 221-222)
  • 7.22 Typ-generische Mathematik <tgmath.h> (S. 335-337)
  • F.9.2.3 Die atanh-Funktionen (S. 457)

[bearbeiten] Siehe auch

(C99)(C99)(C99)
berechnet inversen Sinus hyperbolicus (arsinh(x))
(Funktion) [bearbeiten]
(C99)(C99)(C99)
berechnet inversen Kosinus hyperbolicus (arcosh(x))
(Funktion) [bearbeiten]
(C99)(C99)
berechnet Tangens hyperbolicus (tanh(x))
(Funktion) [bearbeiten]
(C99)(C99)(C99)
berechnet den komplexen inversen hyperbolischen Tangens
(Funktion) [bearbeiten]

[bearbeiten] Externe Links

Weisstein, Eric W. "Inverse Hyperbolic Tangent." Von MathWorld – Eine Wolfram-Webressource.