(template parameter) type of real part of complex number
(template parameter) type of imaginary part of complex number
real part of complex number to be constructed
(optional) imaginary part of complex number, 0 if omitted.
Complex instance with real and imaginary parts set to the values provided as input. If neither re nor im are floating-point numbers, the return type will be Complex!double. Otherwise, the return type is deduced using std.traits.CommonType!(R, I).
auto a = complex(1.0); static assert(is(typeof(a) == Complex!double)); assert(a.re == 1.0); assert(a.im == 0.0); auto b = complex(2.0L); static assert(is(typeof(b) == Complex!real)); assert(b.re == 2.0L); assert(b.im == 0.0L); auto c = complex(1.0, 2.0); static assert(is(typeof(c) == Complex!double)); assert(c.re == 1.0); assert(c.im == 2.0); auto d = complex(3.0, 4.0L); static assert(is(typeof(d) == Complex!real)); assert(d.re == 3.0); assert(d.im == 4.0L); auto e = complex(1); static assert(is(typeof(e) == Complex!double)); assert(e.re == 1); assert(e.im == 0); auto f = complex(1L, 2); static assert(is(typeof(f) == Complex!double)); assert(f.re == 1L); assert(f.im == 2); auto g = complex(3, 4.0L); static assert(is(typeof(g) == Complex!real)); assert(g.re == 3); assert(g.im == 4.0L);
Helper function that returns a complex number with the specified real and imaginary parts.