
8 Nov
2012
8 Nov
'12
9:58 a.m.
std::complex doesn't seem to allow mixing of types in arithmetic operations. This is quite inconvenient for code that is generic on the base float type.
For example:
template<typename flt_t> flt_t some_function (std::complex<flt_t> z) { return 2. * z / 4.2 + ...
}
This will fail to compile when flt_t == float (but succeeds for double).
casting every constant in a large computation is really not an acceptable option.
Thoughts?
There's a boost::complex in the sandbox waiting for review which I believe fixes that and other issues. John.