1atanh(3) Library Functions Manual atanh(3)
2
3
4
6 atanh, atanhf, atanhl - inverse hyperbolic tangent function
7
9 Math library (libm, -lm)
10
12 #include <math.h>
13
14 double atanh(double x);
15 float atanhf(float x);
16 long double atanhl(long double x);
17
18 Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
19
20 atanh():
21 _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
22 || _XOPEN_SOURCE >= 500
23 || /* Since glibc 2.19: */ _DEFAULT_SOURCE
24 || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
25
26 atanhf(), atanhl():
27 _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
28 || /* Since glibc 2.19: */ _DEFAULT_SOURCE
29 || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
30
32 These functions calculate the inverse hyperbolic tangent of x; that is
33 the value whose hyperbolic tangent is x.
34
36 On success, these functions return the inverse hyperbolic tangent of x.
37
38 If x is a NaN, a NaN is returned.
39
40 If x is +0 (-0), +0 (-0) is returned.
41
42 If x is +1 or -1, a pole error occurs, and the functions return
43 HUGE_VAL, HUGE_VALF, or HUGE_VALL, respectively, with the mathemati‐
44 cally correct sign.
45
46 If the absolute value of x is greater than 1, a domain error occurs,
47 and a NaN is returned.
48
50 See math_error(7) for information on how to determine whether an error
51 has occurred when calling these functions.
52
53 The following errors can occur:
54
55 Domain error: x less than -1 or greater than +1
56 errno is set to EDOM. An invalid floating-point exception
57 (FE_INVALID) is raised.
58
59 Pole error: x is +1 or -1
60 errno is set to ERANGE (but see BUGS). A divide-by-zero float‐
61 ing-point exception (FE_DIVBYZERO) is raised.
62
64 For an explanation of the terms used in this section, see at‐
65 tributes(7).
66
67 ┌────────────────────────────────────────────┬───────────────┬─────────┐
68 │Interface │ Attribute │ Value │
69 ├────────────────────────────────────────────┼───────────────┼─────────┤
70 │atanh(), atanhf(), atanhl() │ Thread safety │ MT-Safe │
71 └────────────────────────────────────────────┴───────────────┴─────────┘
72
74 C11, POSIX.1-2008.
75
77 C99, POSIX.1-2001.
78
79 The variant returning double also conforms to SVr4, 4.3BSD.
80
82 In glibc 2.9 and earlier, when a pole error occurs, errno is set to
83 EDOM instead of the POSIX-mandated ERANGE. Since glibc 2.10, glibc
84 does the right thing.
85
87 acosh(3), asinh(3), catanh(3), cosh(3), sinh(3), tanh(3)
88
89
90
91Linux man-pages 6.04 2023-03-30 atanh(3)