diff options
Diffstat (limited to 'libstdc++-v3/include/std/std_complex.h')
| -rw-r--r-- | libstdc++-v3/include/std/std_complex.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libstdc++-v3/include/std/std_complex.h b/libstdc++-v3/include/std/std_complex.h index fb8122cfcad..694acdc41c9 100644 --- a/libstdc++-v3/include/std/std_complex.h +++ b/libstdc++-v3/include/std/std_complex.h @@ -966,14 +966,20 @@ namespace std { return __builtin_cpow(__x, __y); } inline __complex__ long double - __complex_pow(__complex__ long double& __x, __complex__ long double& __y) + __complex_pow(const __complex__ long double& __x, + const __complex__ long double& __y) { return __builtin_cpowl(__x, __y); } -#endif template<typename _Tp> inline complex<_Tp> pow(const complex<_Tp>& __x, const complex<_Tp>& __y) + { return __complex_pow(__x.__rep(), __y.__rep()); } +#else + template<typename _Tp> + inline complex<_Tp> + pow(const complex<_Tp>& __x, const complex<_Tp>& __y) { return __complex_pow(__x, __y); } +#endif template<typename _Tp> inline complex<_Tp> |

