On Saturday, 19 November 2016 at 12:55:57 UTC, Marc Schütz wrote:
On Saturday, 19 November 2016 at 11:11:36 UTC, Nordlöw wrote:
On Saturday, 19 November 2016 at 09:38:38 UTC, Marduk wrote:
The difference is that D is more verbose. Am I missing something? Can we have C's behaviour in D?

Something like

auto I(T)(T im)
    if (isNumeric!T)
{
    return complex(0, im);
}

unittest
{
    auto x = 1 + 2.I;
}

Or simply:

enum I = complex(0, 1);
auto x = 1 + 2*I;

Thanks! That's a clever idea.

What I do not understand is why if I declare the array with Complex!double I need to complexify each entry. I would expect that D automatically casts 0.0 to complex(0.0).

Reply via email to