+2012-09-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/ext/random (rice_distribution<>::operator==): Change
+ inline friend definition to non-template.
+ * testsuite/ext/random/rice_distribution/requirements/
+ explicit_instantiation/1.cc: New.
+
+ * testsuite/26_numerics/random/normal_mv_distribution: Move...
+ * testsuite/ext/random/normal_mv_distribution: ... here.
+ * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine:
+ Move...
+ * testsuite/ext/random/simd_fast_mersenne_twister_engine: ... here.
+ * testsuite/26_numerics/random/beta_distribution: Move...
+ * testsuite/ext/random/beta_distribution: ... here.
+ * testsuite/26_numerics/random/rice_distribution: Move...
+ * testsuite/ext/random/rice_distribution: ... here.
+
2012-09-14 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/ext/random: Add __gnu_cxx::rice_distribution<> class.
{ seed(__sd); }
template<typename _Sseq, typename = typename
- std::enable_if<!std::is_same<_Sseq, simd_fast_mersenne_twister_engine>::value>
+ std::enable_if<!std::is_same<_Sseq,
+ simd_fast_mersenne_twister_engine>::value>
::type>
explicit
simd_fast_mersenne_twister_engine(_Sseq& __q)
typename _CharT, typename _Traits>
friend std::basic_ostream<_CharT, _Traits>&
operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const __gnu_cxx::simd_fast_mersenne_twister_engine<_UIntType_2,
+ const __gnu_cxx::simd_fast_mersenne_twister_engine
+ <_UIntType_2,
__m_2, __pos1_2, __sl1_2, __sl2_2, __sr1_2, __sr2_2,
__msk1_2, __msk2_2, __msk3_2, __msk4_2,
__parity1_2, __parity2_2, __parity3_2, __parity4_2>& __x);
* the same parameters and the sequences that would
* be generated are equal.
*/
- template<typename _RealType1>
- friend bool
- operator==(const rice_distribution<_RealType1>& __d1,
- const rice_distribution<_RealType1>& __d2)
- { return (__d1.param() == __d2.param()
- && __d1._M_ndx == __d2._M_ndx
- && __d1._M_ndy == __d2._M_ndy); }
+ friend bool
+ operator==(const rice_distribution& __d1,
+ const rice_distribution& __d2)
+ { return (__d1.param() == __d2.param()
+ && __d1._M_ndx == __d2._M_ndx
+ && __d1._M_ndy == __d2._M_ndy); }
/**
* @brief Inserts a %rice_distribution random number distribution
--- /dev/null
+// { dg-do compile }
+// { dg-options "-std=c++11" }
+// { dg-require-cstdint "" }
+//
+// Copyright (C) 2012 Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <ext/random>
+
+template class __gnu_cxx::rice_distribution<float>;
+template class __gnu_cxx::rice_distribution<double>;
+template class __gnu_cxx::rice_distribution<long double>;