[complex.transcendentals] # 29 Numerics library [[numerics]](./#numerics) ## 29.4 Complex numbers [[complex.numbers]](complex.numbers#complex.transcendentals) ### 29.4.8 Transcendentals [complex.transcendentals] [🔗](#lib:acos,complex) `template constexpr complex acos(const complex& x); ` [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L878) *Returns*: The complex arc cosine of x[.](#1.sentence-1) [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L882) *Remarks*: Behaves the same as the C function cacos[.](#2.sentence-1) See also: ISO/IEC 9899:2024, 7.3.5.1 [🔗](#lib:asin,complex) `template constexpr complex asin(const complex& x); ` [3](#3) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L895) *Returns*: The complex arc sine of x[.](#3.sentence-1) [4](#4) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L899) *Remarks*: Behaves the same as the C function casin[.](#4.sentence-1) See also: ISO/IEC 9899:2024, 7.3.5.2 [🔗](#lib:atan,complex) `template constexpr complex atan(const complex& x); ` [5](#5) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L912) *Returns*: The complex arc tangent of x[.](#5.sentence-1) [6](#6) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L916) *Remarks*: Behaves the same as the C function catan[.](#6.sentence-1) See also: ISO/IEC 9899:2024, 7.3.5.3 [🔗](#lib:acosh,complex) `template constexpr complex acosh(const complex& x); ` [7](#7) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L929) *Returns*: The complex arc hyperbolic cosine of x[.](#7.sentence-1) [8](#8) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L933) *Remarks*: Behaves the same as the C function cacosh[.](#8.sentence-1) See also: ISO/IEC 9899:2024, 7.3.6.1 [🔗](#lib:asinh,complex) `template constexpr complex asinh(const complex& x); ` [9](#9) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L946) *Returns*: The complex arc hyperbolic sine of x[.](#9.sentence-1) [10](#10) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L950) *Remarks*: Behaves the same as the C function casinh[.](#10.sentence-1) See also: ISO/IEC 9899:2024, 7.3.6.2 [🔗](#lib:atanh,complex) `template constexpr complex atanh(const complex& x); ` [11](#11) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L963) *Returns*: The complex arc hyperbolic tangent of x[.](#11.sentence-1) [12](#12) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L967) *Remarks*: Behaves the same as the C function catanh[.](#12.sentence-1) See also: ISO/IEC 9899:2024, 7.3.6.3 [🔗](#lib:cos,complex) `template constexpr complex cos(const complex& x); ` [13](#13) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L979) *Returns*: The complex cosine of x[.](#13.sentence-1) [🔗](#lib:cosh,complex) `template constexpr complex cosh(const complex& x); ` [14](#14) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L990) *Returns*: The complex hyperbolic cosine of x[.](#14.sentence-1) [🔗](#lib:exp,complex) `template constexpr complex exp(const complex& x); ` [15](#15) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L1001) *Returns*: The complex base-e exponential of x[.](#15.sentence-1) [🔗](#lib:log,complex) `template constexpr complex log(const complex& x); ` [16](#16) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L1012) *Returns*: The complex natural (base-e) logarithm of x[.](#16.sentence-1) For all x,imag(log(x)) lies in the interval [−π, π][.](#16.sentence-2) [*Note [1](#note-1)*: The semantics of this function are intended to be the same in C++ as they are for clog in C[.](#16.sentence-3) — *end note*] [17](#17) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L1021) *Remarks*: The branch cuts are along the negative real axis[.](#17.sentence-1) [🔗](#lib:log10,complex) `template constexpr complex log10(const complex& x); ` [18](#18) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L1032) *Returns*: The complex common (base-10) logarithm of x, defined aslog(x) / log(10)[.](#18.sentence-1) [19](#19) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L1037) *Remarks*: The branch cuts are along the negative real axis[.](#19.sentence-1) [🔗](#lib:pow,complex) `template constexpr complex pow(const complex& x, const complex& y); template constexpr complex pow(const complex& x, const T& y); template constexpr complex pow(const T& x, const complex& y); ` [20](#20) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L1050) *Returns*: The complex power of base x raised to the yth power, defined asexp(y * log(x))[.](#20.sentence-1) The value returned forpow(0, 0) is implementation-defined[.](#20.sentence-2) [21](#21) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L1059) *Remarks*: The branch cuts are along the negative real axis[.](#21.sentence-1) [🔗](#lib:sin,complex) `template constexpr complex sin(const complex& x); ` [22](#22) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L1070) *Returns*: The complex sine of x[.](#22.sentence-1) [🔗](#lib:sinh,complex) `template constexpr complex sinh(const complex& x); ` [23](#23) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L1081) *Returns*: The complex hyperbolic sine of x[.](#23.sentence-1) [🔗](#lib:sqrt,complex) `template constexpr complex sqrt(const complex& x); ` [24](#24) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L1092) *Returns*: The complex square root of x, in the range of the right half-plane[.](#24.sentence-1) [*Note [2](#note-2)*: The semantics of this function are intended to be the same in C++ as they are for csqrt in C[.](#24.sentence-2) — *end note*] [25](#25) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L1101) *Remarks*: The branch cuts are along the negative real axis[.](#25.sentence-1) [🔗](#lib:tan,complex) `template constexpr complex tan(const complex& x); ` [26](#26) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L1112) *Returns*: The complex tangent of x[.](#26.sentence-1) [🔗](#lib:tanh,complex) `template constexpr complex tanh(const complex& x); ` [27](#27) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L1123) *Returns*: The complex hyperbolic tangent of x[.](#27.sentence-1)