log for complex
J-S Caux
js at gmail.com
Wed Mar 7 10:10:49 UTC 2018
On Wednesday, 7 March 2018 at 08:04:36 UTC, Simen Kjærås wrote:
> 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
Yes indeed I can do this, but isn't this inefficient as compared
to what it should be? The internals of arg are presumable already
doing part of/all the necessary work.
More information about the Digitalmars-d-learn
mailing list