2015-05-13 Jonathan Wakely <jwakely@redhat.com>
+ * include/std/complex (polar): Check for negative rho (LWG 2459).
+
* include/experimental/tuple (apply): Handle pointers to member (LWG
2418).
* include/std/functional (_Mem_fn_base): Make constructors constexpr.
template<typename _Tp>
inline complex<_Tp>
polar(const _Tp& __rho, const _Tp& __theta)
- { return complex<_Tp>(__rho * cos(__theta), __rho * sin(__theta)); }
+ {
+ _GLIBCXX_DEBUG_ASSERT( __rho >= 0 );
+ return complex<_Tp>(__rho * cos(__theta), __rho * sin(__theta));
+ }
template<typename _Tp>
inline complex<_Tp>