1ATANH(3P) POSIX Programmer's Manual ATANH(3P)
2
3
4
6 This manual page is part of the POSIX Programmer's Manual. The Linux
7 implementation of this interface may differ (consult the corresponding
8 Linux manual page for details of Linux behavior), or the interface may
9 not be implemented on Linux.
10
11
13 atanh, atanhf, atanhl — inverse hyperbolic tangent functions
14
16 #include <math.h>
17
18 double atanh(double x);
19 float atanhf(float x);
20 long double atanhl(long double x);
21
23 The functionality described on this reference page is aligned with the
24 ISO C standard. Any conflict between the requirements described here
25 and the ISO C standard is unintentional. This volume of POSIX.1‐2008
26 defers to the ISO C standard.
27
28 These functions shall compute the inverse hyperbolic tangent of their
29 argument x.
30
31 An application wishing to check for error situations should set errno
32 to zero and call feclearexcept(FE_ALL_EXCEPT) before calling these
33 functions. On return, if errno is non-zero or fetestexcept(FE_INVALID |
34 FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW) is non-zero, an error has
35 occurred.
36
38 Upon successful completion, these functions shall return the inverse
39 hyperbolic tangent of their argument.
40
41 If x is ±1, a pole error shall occur, and atanh(), atanhf(), and
42 atanhl() shall return the value of the macro HUGE_VAL, HUGE_VALF, and
43 HUGE_VALL, respectively, with the same sign as the correct value of the
44 function.
45
46 For finite |x|>1, a domain error shall occur, and either a NaN (if sup‐
47 ported), or an implementation-defined value shall be returned.
48
49 If x is NaN, a NaN shall be returned.
50
51 If x is ±0, x shall be returned.
52
53 If x is ±Inf, a domain error shall occur, and a NaN shall be returned.
54
55 If x is subnormal, a range error may occur
56 and x should be returned.
57
58 If x is not returned, atanh(), atanhf(), and atanhl() shall return an
59 implementation-defined value no greater in magnitude than DBL_MIN,
60 FLT_MIN, and LDBL_MIN, respectively.
61
63 These functions shall fail if:
64
65 Domain Error
66 The x argument is finite and not in the range [−1,1], or is
67 ±Inf.
68
69 If the integer expression (math_errhandling & MATH_ERRNO)
70 is non-zero, then errno shall be set to [EDOM]. If the
71 integer expression (math_errhandling & MATH_ERREXCEPT) is
72 non-zero, then the invalid floating-point exception shall
73 be raised.
74
75 Pole Error The x argument is ±1.
76
77 If the integer expression (math_errhandling & MATH_ERRNO)
78 is non-zero, then errno shall be set to [ERANGE]. If the
79 integer expression (math_errhandling & MATH_ERREXCEPT) is
80 non-zero, then the divide-by-zero floating-point exception
81 shall be raised.
82
83 These functions may fail if:
84
85 Range Error The value of x is subnormal.
86
87 If the integer expression (math_errhandling & MATH_ERRNO)
88 is non-zero, then errno shall be set to [ERANGE]. If the
89 integer expression (math_errhandling & MATH_ERREXCEPT) is
90 non-zero, then the underflow floating-point exception shall
91 be raised.
92
93 The following sections are informative.
94
96 None.
97
99 On error, the expressions (math_errhandling & MATH_ERRNO) and
100 (math_errhandling & MATH_ERREXCEPT) are independent of each other, but
101 at least one of them must be non-zero.
102
104 None.
105
107 None.
108
110 feclearexcept(), fetestexcept(), tanh()
111
112 The Base Definitions volume of POSIX.1‐2008, Section 4.19, Treatment of
113 Error Conditions for Mathematical Functions, <math.h>
114
116 Portions of this text are reprinted and reproduced in electronic form
117 from IEEE Std 1003.1, 2013 Edition, Standard for Information Technology
118 -- Portable Operating System Interface (POSIX), The Open Group Base
119 Specifications Issue 7, Copyright (C) 2013 by the Institute of Electri‐
120 cal and Electronics Engineers, Inc and The Open Group. (This is
121 POSIX.1-2008 with the 2013 Technical Corrigendum 1 applied.) In the
122 event of any discrepancy between this version and the original IEEE and
123 The Open Group Standard, the original IEEE and The Open Group Standard
124 is the referee document. The original Standard can be obtained online
125 at http://www.unix.org/online.html .
126
127 Any typographical or formatting errors that appear in this page are
128 most likely to have been introduced during the conversion of the source
129 files to man page format. To report such errors, see https://www.ker‐
130 nel.org/doc/man-pages/reporting_bugs.html .
131
132
133
134IEEE/The Open Group 2013 ATANH(3P)