4 template<typename D> struct complex { };
8 pow(const complex<Tp>& x, const complex<Tp>& y) { return complex<Tp>(); }
10 template<typename T, typename U>
11 struct promote_2 { typedef T type; };
13 template<typename Tp, typename Up>
14 complex<typename promote_2<Tp, Up>::type>
15 pow(const complex<Tp>& x, const complex<Up>& y);
17 complex<double> (*powcc)(const complex<double>&, const complex<double>&) = pow;