+2012-10-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/54757
+ * include/ext/random (rice_distribution<>::operator()): Use std::hypot
+ only if _GLIBCXX_USE_C99_MATH_TR1.
+ * include/ext/random.tcc (rice_distribution<>::__generate_impl):
+ Likewise.
+
2012-10-01 Daniel Krugler <daniel.kruegler@googlemail.com>
* include/std/type_traits (result_of): Provide "SFINAE-friendly"
{
result_type __x = this->_M_ndx(__urng);
result_type __y = this->_M_ndy(__urng);
+#if _GLIBCXX_USE_C99_MATH_TR1
return std::hypot(__x, __y);
+#else
+ return std::sqrt(__x * __x + __y * __y);
+#endif
}
template<typename _UniformRandomNumberGenerator>
__px(__p.nu(), __p.sigma()), __py(result_type(0), __p.sigma());
result_type __x = this->_M_ndx(__px, __urng);
result_type __y = this->_M_ndy(__py, __urng);
+#if _GLIBCXX_USE_C99_MATH_TR1
return std::hypot(__x, __y);
+#else
+ return std::sqrt(__x * __x + __y * __y);
+#endif
}
template<typename _ForwardIterator,
__px(__p.nu(), __p.sigma()), __py(result_type(0), __p.sigma());
result_type __x = this->_M_ndx(__px, __urng);
result_type __y = this->_M_ndy(__py, __urng);
+#if _GLIBCXX_USE_C99_MATH_TR1
*__f++ = std::hypot(__x, __y);
+#else
+ *__f++ = std::sqrt(__x * __x + __y * __y);
+#endif
}
}