re PR libstdc++/54757 (FAIL: ext/random/beta_distribution/cons/default.cc (test for excess errors))

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.

From-SVN: r191944
This commit is contained in:
Paolo Carlini 2012-10-01 23:10:02 +00:00 committed by Paolo Carlini
parent 6b391f4937
commit decf0e27a0
3 changed files with 20 additions and 0 deletions

View File

@ -1,3 +1,11 @@
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> 2012-10-01 Daniel Krugler <daniel.kruegler@googlemail.com>
* include/std/type_traits (result_of): Provide "SFINAE-friendly" * include/std/type_traits (result_of): Provide "SFINAE-friendly"

View File

@ -1042,7 +1042,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
result_type __x = this->_M_ndx(__urng); result_type __x = this->_M_ndx(__urng);
result_type __y = this->_M_ndy(__urng); result_type __y = this->_M_ndy(__urng);
#if _GLIBCXX_USE_C99_MATH_TR1
return std::hypot(__x, __y); return std::hypot(__x, __y);
#else
return std::sqrt(__x * __x + __y * __y);
#endif
} }
template<typename _UniformRandomNumberGenerator> template<typename _UniformRandomNumberGenerator>
@ -1054,7 +1058,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__px(__p.nu(), __p.sigma()), __py(result_type(0), __p.sigma()); __px(__p.nu(), __p.sigma()), __py(result_type(0), __p.sigma());
result_type __x = this->_M_ndx(__px, __urng); result_type __x = this->_M_ndx(__px, __urng);
result_type __y = this->_M_ndy(__py, __urng); result_type __y = this->_M_ndy(__py, __urng);
#if _GLIBCXX_USE_C99_MATH_TR1
return std::hypot(__x, __y); return std::hypot(__x, __y);
#else
return std::sqrt(__x * __x + __y * __y);
#endif
} }
template<typename _ForwardIterator, template<typename _ForwardIterator,

View File

@ -732,7 +732,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__px(__p.nu(), __p.sigma()), __py(result_type(0), __p.sigma()); __px(__p.nu(), __p.sigma()), __py(result_type(0), __p.sigma());
result_type __x = this->_M_ndx(__px, __urng); result_type __x = this->_M_ndx(__px, __urng);
result_type __y = this->_M_ndy(__py, __urng); result_type __y = this->_M_ndy(__py, __urng);
#if _GLIBCXX_USE_C99_MATH_TR1
*__f++ = std::hypot(__x, __y); *__f++ = std::hypot(__x, __y);
#else
*__f++ = std::sqrt(__x * __x + __y * __y);
#endif
} }
} }