14 template <
class T1,
class T2>
class promote
20 #define DECLARE_PROMOTE(A, B, C) \
21 template <> class promote<A, B> { \
33 DECLARE_PROMOTE(
const double, std::complex<double>, std::complex<double>);
34 DECLARE_PROMOTE(
const std::complex<double>,
double, std::complex<double>);
35 DECLARE_PROMOTE(
double,
const std::complex<double>, std::complex<double>);
36 DECLARE_PROMOTE(std::complex<double>,
const double, std::complex<double>);
38 std::complex<double>);
40 std::complex<double>);
57 #undef DECLARE_PROMOTE