A complex number
The complex natural logarithm of x
x | log(x) |
---|---|
(-0, +0) | (-∞, π) |
(+0, +0) | (-∞, +0) |
(any, +∞) | (+∞, π/2) |
(any, NaN) | (NaN, NaN) |
(-∞, any) | (+∞, π) |
(+∞, any) | (+∞, +0) |
(-∞, +∞) | (+∞, 3π/4) |
(+∞, +∞) | (+∞, π/4) |
(±∞, NaN) | (+∞, NaN) |
(NaN, any) | (NaN, NaN) |
(NaN, +∞) | (+∞, NaN) |
(NaN, NaN) | (NaN, NaN) |
import core.math : sqrt; import std.math.constants : PI; import std.math.operations : isClose; auto a = complex(2.0, 1.0); assert(log(conj(a)) == conj(log(a))); auto b = 2.0 * log10(complex(0.0, 1.0)); auto c = 4.0 * log10(complex(sqrt(2.0) / 2, sqrt(2.0) / 2)); assert(isClose(b, c, 0.0, 1e-15)); assert(log(complex(-1.0L, 0.0L)) == complex(0.0L, PI)); assert(log(complex(-1.0L, -0.0L)) == complex(0.0L, -PI));
Calculate the natural logarithm of x. The branch cut is along the negative axis.