log for complex

Simen Kjærås simen.kjaras at gmail.com
Wed Mar 7 08:04:36 UTC 2018


On Wednesday, 7 March 2018 at 07:42:37 UTC, J-S Caux wrote:
> Simple question: how do I get the log of a complex number?
>
> If I try the simple
> logtest = log(complex(1.0, 2.0))
>
> I get the compiler error
>
> Error: function core.stdc.math.log(double x) is not callable 
> using argument types (Complex!double)
>
> Some basic functions are described in 
> https://dlang.org/phobos/std_complex.html, but not the log...

That seems like an oversight. For now, this should work:

auto log(T)(Complex!T x) {
     import std.math : log;
     return Complex!T(log (abs(x)), arg(x));
}

--
   Simen


More information about the Digitalmars-d-learn mailing list