static complex<_Tp> powT(const complex<_Tp>& z_in, int n) { complex<_Tp> z = z_in; z = _STLP_PRIV __power(z, (n < 0 ? -n : n), multiplies< complex<_Tp> >()); if (n < 0) return _Tp(1.0) / z; else return z; }
inline complex __power(double a, complex b) { return __power(mcomplex(a), b); }
inline complex __power(complex a, double b) { return __power(a, mcomplex(b)); }
complex<long double> pow(const complex<long double>& z, int n) { if (n < 0) return 1.l / __power(z, n, multiplies< complex<long double> >()); else return __power(z, n, multiplies< complex<long double> >()); }
complex<float> pow(const complex<float>& z, int n) { if (n < 0) return 1.f / __power(z, n, multiplies< complex<float> >()); else return __power(z, n, multiplies< complex<float> >()); }