Converting a number to complex
Joshua Niehus
jm.niehus at gmail.com
Fri Nov 23 09:06:02 PST 2012
meh, couldn't resist:
import std.stdio, std.conv, std.traits, std.complex;
template isComplex(T)
{
static if (is(T == Complex!double))
{
enum bool isComplex = true;
}
else static if (is(T == Complex!float))
{
enum bool isComplex = true;
}
else static if (is(T == Complex!real))
{
enum bool isComplex = true;
}
else {
enum bool isComplex = false;
}
}
template isComplexOrNumeric(T)
{
enum bool isComplexOrNumeric = (isComplex!T || isNumeric!T);
}
class Example(T) if (isComplexOrNumeric!T)
{
T k = to!T(1);
}
More information about the Digitalmars-d-learn
mailing list