std::log(std::complex)

< cpp‎ | numeric‎ | complex

C++
 Language Standard library headers Concepts Utilities library Strings library Containers library Algorithms library Iterators library Numerics library Input/output library Localizations library Regular expressions library (C++11) Atomic operations library (C++11) Thread support library (C++11)

Numerics library
 Common mathematical functions Floating-point environment Complex numbers Numeric arrays Pseudo-random number generation Compile-time rational arithmetic (C++11) Generic numeric operations iota (C++11) accumulate inner_product adjacent_difference partial_sum

std::complex
Member functions
Non-member functions
 real imag abs arg norm conj proj (C++11) polar operator""ioperator""ifoperator""il (C++14)(C++14)(C++14)
Exponential functions
log
Power functions
Trigonometric functions
 asin (C++11) acos (C++11) atan (C++11)
Hyperbolic functions
 asinh (C++11) acosh (C++11) atanh (C++11)

 Defined in header template< class T > complex log( const complex& z );

Computes complex natural (base e) logarithm of a complex value z with a branch cut along the negative real axis.

Contents

Parameters

 z - complex value

Return value

If no errors occur, the complex natural logarithm of z is returned, in the range of a strip in the interval [−iπ, +iπ] along the imaginary axis and mathematically unbounded along the real axis.

If z is a negative real number, std::imag(std::log(x)) equals pi.

Error handling and special values

Errors are reported consistent with math_errhandling

If the implementation supports IEEE floating-point arithmetic,

• The function is continuous onto the branch cut taking into account the sign of imaginary part
• std::log(std::conj(z)) == std::conj(std::log(z))
• If z is (-0,+0), the result is (-∞,π) and FE_DIVBYZERO is raised
• If z is (+0,+0), the result is (-∞,+0) and FE_DIVBYZERO is raised
• If z is (x,+∞) (for any finite x), the result is (+∞,π/2)
• If z is (x,NaN) (for any finite x), the result is (NaN,NaN) and FE_INVALID may be raised
• If z is (-∞,y) (for any finite positive y), the result is (-∞,π)
• If z is (+∞,y) (for any finite positive y), the result is (-∞,+0)
• If z is (-∞,+∞), the result is (+∞,3π/4)
• If z is (+∞,+∞), the result is (+∞,π/4)
• If z is (±∞,NaN), the result is (+∞,NaN)
• If z is (NaN,y) (for any finite y), the result is (NaN,NaN) and FE_INVALID may be raised
• If z is (NaN,+∞), the result is (+∞,NaN)
• If z is (NaN,NaN), the result is (NaN,NaN)