log for complex

Simen Kjærås simen.kjaras at gmail.com
Wed Mar 7 10:28:23 UTC 2018


On Wednesday, 7 March 2018 at 10:10:49 UTC, J-S Caux wrote:
> On Wednesday, 7 March 2018 at 08:04:36 UTC, Simen Kjærås wrote:
>> auto log(T)(Complex!T x) {
>>     import std.math : log;
>>     return Complex!T(log(abs(x)), arg(x));
>> }
>
> 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.

arg is just atan2 in disguise, and doesn't do any logarithms. I 
mean, in a way it does, but it's really just a fpatan 
instruction. I don't expect there to be many optimization 
opportunities here.

--
   Simen


More information about the Digitalmars-d-learn mailing list