random (rice_distribution<>::operator==): Change inline friend definition to non...
authorPaolo Carlini <paolo.carlini@oracle.com>
Sun, 16 Sep 2012 22:28:21 +0000 (22:28 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Sun, 16 Sep 2012 22:28:21 +0000 (22:28 +0000)
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.

From-SVN: r191367

59 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/ext/random
libstdc++-v3/testsuite/26_numerics/random/beta_distribution/cons/default.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/beta_distribution/cons/parms.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/beta_distribution/operators/equal.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/beta_distribution/operators/inequal.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/beta_distribution/operators/serialize.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/beta_distribution/requirements/explicit_instantiation/1.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/beta_distribution/requirements/typedefs.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/cons/default.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/cons/parms.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/operators/equal.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/operators/inequal.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/operators/serialize.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/requirements/explicit_instantiation/1.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/requirements/typedefs.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/rice_distribution/cons/default.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/rice_distribution/cons/parms.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/rice_distribution/operators/equal.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/rice_distribution/operators/inequal.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/rice_distribution/operators/serialize.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/rice_distribution/requirements/typedefs.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/cons/copy.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/cons/default.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/cons/seed1.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/cons/seed2.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/cons/seed_seq.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/operators/equal.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/operators/inequal.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/operators/serialize.cc [deleted file]
libstdc++-v3/testsuite/ext/random/beta_distribution/cons/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/beta_distribution/cons/parms.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/beta_distribution/operators/equal.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/beta_distribution/operators/inequal.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/beta_distribution/operators/serialize.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/beta_distribution/requirements/explicit_instantiation/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/beta_distribution/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/parms.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/equal.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/inequal.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/serialize.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/normal_mv_distribution/requirements/explicit_instantiation/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/normal_mv_distribution/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/rice_distribution/cons/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/rice_distribution/cons/parms.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/rice_distribution/operators/equal.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/rice_distribution/operators/inequal.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/rice_distribution/operators/serialize.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/rice_distribution/requirements/explicit_instantiation/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/rice_distribution/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/copy.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/equal.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/inequal.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/serialize.cc [new file with mode: 0644]

index 33489e2cc9a0bf0bd1d3fb539456076e841cc644..42ef92a6bd445ba2002b7b957a63a00eaac86a8f 100644 (file)
@@ -1,3 +1,20 @@
+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.
index 3011f39109ade82d16d924f634d3f50de067bb8e..e53204074fc2906e4fd50591fde777722b960ae4 100644 (file)
@@ -87,7 +87,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       { 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)
@@ -149,7 +150,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
               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);
@@ -1079,13 +1081,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *        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
diff --git a/libstdc++-v3/testsuite/26_numerics/random/beta_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/beta_distribution/cons/default.cc
deleted file mode 100644 (file)
index 3aa2d85..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
-// 2012-09-04  Ulrich Drepper <drepper@gmail.com>
-//
-// Copyright (C) 2012 Free 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>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  __gnu_cxx::beta_distribution<> u;
-  VERIFY( u.alpha() == 1.0 );
-  VERIFY( u.beta() == 1.0 );
-  VERIFY( u.min() == 0.0 );
-  VERIFY( u.max() == 1.0 );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/beta_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/beta_distribution/cons/parms.cc
deleted file mode 100644 (file)
index 9d6c0b1..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
-// 2012-09-04  Ulrich Drepper <drepper@gmail.com>
-//
-// Copyright (C) 2012 Free 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>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  __gnu_cxx::beta_distribution<> u(1.5, 3.0);
-  VERIFY( u.alpha() == 1.5 );
-  VERIFY( u.beta() == 3.0 );
-  VERIFY( u.min() == 0.0 );
-  VERIFY( u.max() == 1.0 );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/beta_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/beta_distribution/operators/equal.cc
deleted file mode 100644 (file)
index a31a654..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2010-03-16  Paolo Carlini  <paolo.carlini@oracle.com>
-// 2012-09-04  Ulrich Drepper  <drepper@gmail.com>
-//
-// Copyright (C) 2012 Free 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>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  __gnu_cxx::beta_distribution<double> u(1.5, 3.0), v, w;
-
-  VERIFY( v == w );
-  VERIFY( !(u == v) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/beta_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/beta_distribution/operators/inequal.cc
deleted file mode 100644 (file)
index d7eda39..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2010-03-16  Paolo Carlini  <paolo.carlini@oracle.com>
-// 2012-09-04  Ulrich Drepper  <drepper@gmail.com>
-//
-// Copyright (C) 2012 Free 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>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  __gnu_cxx::beta_distribution<double> u(1.5, 3.0), v, w;
-
-  VERIFY( u != v );
-  VERIFY( !(v != w) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/beta_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/beta_distribution/operators/serialize.cc
deleted file mode 100644 (file)
index dd2fed8..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2009-08-14  Edward M. Smith-Rowland  <3dw4rd@verizon.net>
-// 2012-09-04  Ulrich Drepper  <drepper@gmail.com>
-//
-// Copyright (C) 2012 Free 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>
-#include <sstream>
-
-void
-test01()
-{
-  std::stringstream str;
-  __gnu_cxx::beta_distribution<double> u(1.5, 3.0), v;
-  std::minstd_rand0 rng;
-
-  u(rng); // advance
-  str << u;
-
-  str >> v;
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/beta_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/beta_distribution/requirements/explicit_instantiation/1.cc
deleted file mode 100644 (file)
index a572b14..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-// { 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::beta_distribution<float>;
-template class __gnu_cxx::beta_distribution<double>;
-template class __gnu_cxx::beta_distribution<long double>;
diff --git a/libstdc++-v3/testsuite/26_numerics/random/beta_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/beta_distribution/requirements/typedefs.cc
deleted file mode 100644 (file)
index 33b18ae..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
-// 2012-09-04  Ulrich Drepper <drepper@gmail.com>
-//
-// Copyright (C) 2012 Free 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>
-
-void
-test01()
-{
-  typedef __gnu_cxx::beta_distribution<double> test_type;
-
-  typedef test_type::result_type result_type;
-  typedef test_type::param_type param_type;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/cons/default.cc
deleted file mode 100644 (file)
index a51fde4..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
-// 2012-09-04  Ulrich Drepper <drepper@gmail.com>
-//
-// Copyright (C) 2012 Free 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>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  __gnu_cxx::normal_mv_distribution<2> u;
-  VERIFY( u.mean()[0] == 0.0 );
-  VERIFY( u.mean()[1] == 0.0 );
-  VERIFY( u.varcov()[0] == 1.0 );
-  VERIFY( u.varcov()[1] == 0.0 );
-  VERIFY( u.varcov()[2] == 1.0 );
-  typedef __gnu_cxx::normal_mv_distribution<2>::result_type result_type;
-  VERIFY( u.min()[0] == std::numeric_limits<result_type::value_type>::min() );
-  VERIFY( u.max()[0] == std::numeric_limits<result_type::value_type>::max() );
-  VERIFY( u.min()[1] == std::numeric_limits<result_type::value_type>::min() );
-  VERIFY( u.max()[1] == std::numeric_limits<result_type::value_type>::max() );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/cons/parms.cc
deleted file mode 100644 (file)
index d127221..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
-// 2012-09-04  Ulrich Drepper <drepper@gmail.com>
-//
-// Copyright (C) 2012 Free 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>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  __gnu_cxx::normal_mv_distribution<2> u({5.0, 4.0}, {4.0, 9.0});
-  VERIFY( u.mean()[0] == 5.0 );
-  VERIFY( u.mean()[1] == 4.0 );
-  VERIFY( u.varcov()[0] == 2.0 );
-  VERIFY( u.varcov()[1] == 0.0 );
-  VERIFY( u.varcov()[2] == 3.0 );
-  typedef __gnu_cxx::normal_mv_distribution<2>::result_type result_type;
-  VERIFY( u.min()[0] == std::numeric_limits<result_type::value_type>::min() );
-  VERIFY( u.max()[0] == std::numeric_limits<result_type::value_type>::max() );
-  VERIFY( u.min()[1] == std::numeric_limits<result_type::value_type>::min() );
-  VERIFY( u.max()[1] == std::numeric_limits<result_type::value_type>::max() );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/operators/equal.cc
deleted file mode 100644 (file)
index 99b7581..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2010-03-16  Paolo Carlini  <paolo.carlini@oracle.com>
-// 2012-09-04  Ulrich Drepper  <drepper@gmail.com>
-//
-// Copyright (C) 2012 Free 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>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  __gnu_cxx::normal_mv_distribution<2,double> u({5.0, 4.0}, {2.0, 1.5}), v, w;
-
-  VERIFY( v == w );
-  VERIFY( !(u == v) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/operators/inequal.cc
deleted file mode 100644 (file)
index 80472a1..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2010-03-16  Paolo Carlini  <paolo.carlini@oracle.com>
-// 2012-09-04  Ulrich Drepper  <drepper@gmail.com>
-//
-// Copyright (C) 2012 Free 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>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  __gnu_cxx::normal_mv_distribution<2,double> u({3.0, 5.0}, {1.0, 2.0}), v, w;
-
-  VERIFY( u != v );
-  VERIFY( !(v != w) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/operators/serialize.cc
deleted file mode 100644 (file)
index 3620a9b..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2009-08-14  Edward M. Smith-Rowland  <3dw4rd@verizon.net>
-// 2012-09-04  Ulrich Drepper  <drepper@gmail.com>
-//
-// Copyright (C) 2012 Free 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>
-#include <sstream>
-
-void
-test01()
-{
-  std::stringstream str;
-  __gnu_cxx::normal_mv_distribution<2,double> u({1.0, 5.0}, {2.0, 4.0}), v;
-  std::minstd_rand0 rng;
-
-  u(rng); // advance
-  str << u;
-
-  str >> v;
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/requirements/explicit_instantiation/1.cc
deleted file mode 100644 (file)
index 55c4431..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-// { 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::normal_mv_distribution<2,float>;
-template class __gnu_cxx::normal_mv_distribution<2,double>;
-template class __gnu_cxx::normal_mv_distribution<2,long double>;
diff --git a/libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/normal_mv_distribution/requirements/typedefs.cc
deleted file mode 100644 (file)
index 4a0a14c..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
-// 2012-09-04  Ulrich Drepper <drepper@gmail.com>
-//
-// Copyright (C) 2012 Free 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>
-
-void
-test01()
-{
-  typedef __gnu_cxx::normal_mv_distribution<3,double> test_type;
-
-  typedef test_type::result_type result_type;
-  typedef test_type::param_type param_type;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/rice_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/rice_distribution/cons/default.cc
deleted file mode 100644 (file)
index 3a49140..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2012-01-28  Edward M. Smith-Rowland <3dw4rd@verizon.net>
-//
-// Copyright (C) 2012 Free 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/>.
-
-// 26.4.8.3.* Class template rice_distribution [rand.dist.ext.rice]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
-
-#include <ext/random>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  __gnu_cxx::rice_distribution<> u;
-  VERIFY( u.nu() == 0.0 );
-  VERIFY( u.sigma() == 1.0 );
-  VERIFY( u.min() == 0.0 );
-  typedef __gnu_cxx::rice_distribution<>::result_type result_type;
-  VERIFY( u.max() == std::numeric_limits<result_type>::max() );
-}
-
-int
-main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/rice_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/rice_distribution/cons/parms.cc
deleted file mode 100644 (file)
index fa79ef5..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2012-01-28  Edward M. Smith-Rowland <3dw4rd@verizon.net>
-//
-// Copyright (C) 2012 Free 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/>.
-
-// 26.4.8.3.* Class template rice_distribution [rand.dist.ext.rice]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
-
-#include <ext/random>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  __gnu_cxx::rice_distribution<> u(1.5, 3.0);
-  VERIFY( u.nu() == 1.5 );
-  VERIFY( u.sigma() == 3.0 );
-  VERIFY( u.min() == 0.0 );
-  typedef __gnu_cxx::rice_distribution<>::result_type result_type;
-  VERIFY( u.max() == std::numeric_limits<result_type>::max() );
-}
-
-int
-main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/rice_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/rice_distribution/operators/equal.cc
deleted file mode 100644 (file)
index 2539d6e..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2012-01-28  Edward M. Smith-Rowland  <3dw4rd@verizon.net>
-//
-// Copyright (C) 2012 Free 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/>.
-
-// 26.5.8.4.5 Class template rice_distribution [rand.dist.ext.rice]
-
-#include <ext/random>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  __gnu_cxx::rice_distribution<double> u(2.0, 3.0), v, w;
-
-  VERIFY( v == w );
-  VERIFY( !(u == v) );
-}
-
-int
-main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/rice_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/rice_distribution/operators/inequal.cc
deleted file mode 100644 (file)
index a3f1512..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2012-01-28  Edward M. Smith-Rowland  <3dw4rd@verizon.net>
-//
-// Copyright (C) 2012 Free 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/>.
-
-// 26.5.8.4.5 Class template rice_distribution [rand.dist.ext.rice]
-
-#include <ext/random>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  __gnu_cxx::rice_distribution<double> u(2.0, 3.0), v, w;
-
-  VERIFY( u != v );
-  VERIFY( !(v != w) );
-}
-
-int
-main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/rice_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/rice_distribution/operators/serialize.cc
deleted file mode 100644 (file)
index 9d39c30..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2012-01-28  Edward M. Smith-Rowland  <3dw4rd@verizon.net>
-//
-// Copyright (C) 2012 Free 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/>.
-
-// 26.4.8.3.* Class template rice_distribution [rand.dist.ext.rice]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
-
-#include <ext/random>
-#include <sstream>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  std::stringstream str;
-  __gnu_cxx::rice_distribution<double> u(1.5, 3.0), v;
-  std::minstd_rand0 rng;
-
-  u(rng); // advance
-  str << u;
-
-  str >> v;
-  VERIFY( u == v );
-}
-
-int
-main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/rice_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/rice_distribution/requirements/typedefs.cc
deleted file mode 100644 (file)
index b524a7b..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2012-01-28  Edward M. Smith-Rowland <3dw4rd@verizon.net>
-//
-// Copyright (C) 2012 Free 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/>.
-
-// 26.4.8.3.* Class template rice_distribution [rand.dist.ext.rice]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
-
-#include <ext/random>
-
-void
-test01()
-{
-  typedef __gnu_cxx::rice_distribution<double> test_type;
-
-  typedef test_type::result_type result_type;
-  typedef test_type::param_type param_type;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/cons/copy.cc b/libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/cons/copy.cc
deleted file mode 100644 (file)
index 8371f46..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2010-02-16  Paolo Carlini  <paolo.carlini@oracle.com>
-// 2012-08-28  Ulrich Drepper  <drepper@gmail.com>, adapted for SFMT
-//
-// Copyright (C) 2010, 2012 Free 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>
-
-void
-test01()
-{
-  typedef uint32_t value_type;
-
-  __gnu_cxx::simd_fast_mersenne_twister_engine<value_type, 607, 2,
-                                              15, 3, 13, 3,
-                                              0xfdff37ffU, 0xef7f3f7dU,
-                                              0xff777b7dU, 0x7ff7fb2fU,
-                                              0x00000001U, 0x00000000U,
-                                              0x00000000U, 0x5986f054U> e(1);
-
-  const auto f(e);
-  auto g(f);
-  g = g; // Suppress unused warning.
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/cons/default.cc
deleted file mode 100644 (file)
index 5b6489a..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
-// 2012-08-28  Ulrich Drepper  <drepper@gmail.com>, adapted for SFMT
-//
-// Copyright (C) 2008, 2009, 2010, 2012 Free 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 <iostream>
-#include <ext/random>
-#include <testsuite_hooks.h>
-
-
-template<class SFMT>
-void run_test(std::initializer_list<typename SFMT::result_type> vals)
-{
-  typedef typename SFMT::result_type result_type;
-  SFMT e;
-
-  e.seed(sizeof(result_type) == 4 ? 1234 : 4321);
-  e.discard(990);
-  bool success = true;
-  for (auto i : vals)
-    {
-      result_type r = e();
-      success &= r == i;
-      std::cout << r << " vs " << i << std::endl;
-    }
-  VERIFY( success );
-}
-
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  __gnu_cxx::sfmt19937 e;
-
-  VERIFY( e.min() == 0 );
-  VERIFY( e.max() == std::numeric_limits<uint32_t>::max() );
-
-  run_test<__gnu_cxx::sfmt607>({ UINT32_C(1318548553), UINT32_C(1985957974),
-       UINT32_C(1367744196), UINT32_C(3463392791), UINT32_C(2780736231),
-       UINT32_C(3894488561), UINT32_C(3157036262), UINT32_C(3491812767),
-       UINT32_C(1724574180), UINT32_C(3645035493) });
-
-  run_test<__gnu_cxx::sfmt607_64>({UINT64_C(15510024334182072935),
-       UINT64_C(5793753331747412752), UINT64_C(16198353238554625740),
-       UINT64_C(2233208824926016498), UINT64_C(3566091399820823780),
-       UINT64_C(16608268514591292798), UINT64_C(10684941689666043359),
-       UINT64_C(12463424292910456802), UINT64_C(5902567440240131366),
-       UINT64_C(7228030834036501150) });
-
-  run_test<__gnu_cxx::sfmt1279>({ UINT32_C(66657331), UINT32_C(637106837),
-       UINT32_C(406927341), UINT32_C(3964420203), UINT32_C(2127134160),
-       UINT32_C(1327235047), UINT32_C(227339400), UINT32_C(97109542),
-       UINT32_C(1814799261), UINT32_C(340888197) });
-
-  run_test<__gnu_cxx::sfmt1279_64>({ UINT64_C(16431921382083697129),
-       UINT64_C(3107599092104940900), UINT64_C(4055245506102959965),
-       UINT64_C(16096064917153424198), UINT64_C(14429331498726837109),
-       UINT64_C(9539664361920633782), UINT64_C(1435296568185387099),
-       UINT64_C(15922567183295047131), UINT64_C(641988285517426228),
-       UINT64_C(15936274870984512675) });
-
-  run_test<__gnu_cxx::sfmt2281>({ UINT32_C(2662391944), UINT32_C(1176696104),
-       UINT32_C(3587947451), UINT32_C(4098993357), UINT32_C(3140998698),
-       UINT32_C(870759742), UINT32_C(623529127), UINT32_C(3458807285),
-       UINT32_C(3341615957), UINT32_C(195614711) });
-
-  run_test<__gnu_cxx::sfmt2281_64>({ UINT64_C(16747191622237074632),
-       UINT64_C(15804170396401370381), UINT64_C(3395175278324920203),
-       UINT64_C(1541877340159274442), UINT64_C(14176322102994316687),
-       UINT64_C(5130618305074712143), UINT64_C(6769693652413407081),
-       UINT64_C(17733765687477661079), UINT64_C(5189766940360047353),
-       UINT64_C(1333654688569723389) });
-
-  run_test<__gnu_cxx::sfmt4253>({ UINT32_C(90342133), UINT32_C(1083987943),
-       UINT32_C(1785481425), UINT32_C(1921212667), UINT32_C(3164342992),
-       UINT32_C(1489324569), UINT32_C(603530523), UINT32_C(952851722),
-       UINT32_C(2380944844), UINT32_C(3335854133) });
-
-  run_test<__gnu_cxx::sfmt4253_64>({ UINT64_C(11570915401962514263),
-       UINT64_C(206693220452528225), UINT64_C(16553299974633247759),
-       UINT64_C(1069562842508952901), UINT64_C(7203975672387749585),
-       UINT64_C(7552781925224963166), UINT64_C(16865729458807008705),
-       UINT64_C(7848963629493506078), UINT64_C(9282397173969292817),
-       UINT64_C(10738488504584559289) });
-
-  run_test<__gnu_cxx::sfmt11213>({ UINT32_C(2072997009), UINT32_C(1332330347),
-       UINT32_C(179681555), UINT32_C(2315290438), UINT32_C(2429393974),
-       UINT32_C(509881964), UINT32_C(3807607878), UINT32_C(3055319970),
-       UINT32_C(671840881), UINT32_C(3477325874) });
-
-  run_test<__gnu_cxx::sfmt11213_64>({ UINT64_C(373867573626408653),
-       UINT64_C(4732829340233638861), UINT64_C(16174630176505735656),
-       UINT64_C(10063018133994900869), UINT64_C(17308645173308419196),
-       UINT64_C(11091353816581371951), UINT64_C(15078420471318089727),
-       UINT64_C(17965717592743818706), UINT64_C(12301543162252389155),
-       UINT64_C(1724943167823308511) });
-
-  run_test<__gnu_cxx::sfmt19937>({ UINT32_C(4002809368), UINT32_C(421169044),
-       UINT32_C(1112642589), UINT32_C(3076213779), UINT32_C(3387033971),
-       UINT32_C(2499610950), UINT32_C(3057240914), UINT32_C(1662679783),
-       UINT32_C(461224431), UINT32_C(1168395933) });
-
-  run_test<__gnu_cxx::sfmt19937_64>({ UINT64_C(8032857516355555296),
-       UINT64_C(14023605983059313116), UINT64_C(1032336061815461376),
-       UINT64_C(9840995337876562612), UINT64_C(9869256223029203587),
-       UINT64_C(12227975697177267636), UINT64_C(12728115115844186033),
-       UINT64_C(7752058479783205470), UINT64_C(729733219713393087),
-       UINT64_C(12954017801239007622) });
-
-  run_test<__gnu_cxx::sfmt44497>({ UINT32_C(1483092082), UINT32_C(1895679637),
-       UINT32_C(9122740), UINT32_C(635864575), UINT32_C(320732971),
-       UINT32_C(4253159584), UINT32_C(30097521), UINT32_C(839233316),
-       UINT32_C(1431693534), UINT32_C(645981752) });
-
-  run_test<__gnu_cxx::sfmt44497_64>({ UINT64_C(6246103978016445638),
-       UINT64_C(4198275826138953222), UINT64_C(12473679170573289212),
-       UINT64_C(14745709982748360209), UINT64_C(3630790792408208113),
-       UINT64_C(4195294399578350499), UINT64_C(3742595698794327253),
-       UINT64_C(17388385867517445933), UINT64_C(4261866397667814669),
-       UINT64_C(17394085161690598095) });
-
-  run_test<__gnu_cxx::sfmt86243>({ UINT32_C(3910985535), UINT32_C(100094501),
-       UINT32_C(3120362616), UINT32_C(1854432382), UINT32_C(314688154),
-       UINT32_C(522122712), UINT32_C(3026095676), UINT32_C(3681962735),
-       UINT32_C(1851548627), UINT32_C(2153846465) });
-
-  run_test<__gnu_cxx::sfmt86243_64>({ UINT64_C(250135615696586029),
-       UINT64_C(4836277875486422184), UINT64_C(12389320296183057446),
-       UINT64_C(7983028875884559442), UINT64_C(10079555227308335361),
-       UINT64_C(14829333386540244214), UINT64_C(12159744972103351172),
-       UINT64_C(4932579842314286356), UINT64_C(5200375244476537050),
-       UINT64_C(11795681221121010641) });
-
-  run_test<__gnu_cxx::sfmt132049>({ UINT32_C(1551023420), UINT32_C(1462317554),
-       UINT32_C(2882528449), UINT32_C(1136299843), UINT32_C(292840589),
-       UINT32_C(1307775247), UINT32_C(463274356), UINT32_C(1430357686),
-       UINT32_C(3907607055), UINT32_C(3462509184) });
-
-  run_test<__gnu_cxx::sfmt132049_64>({ UINT64_C(649482638765113922),
-       UINT64_C(14205859353699897918), UINT64_C(14077261854908137257),
-       UINT64_C(9564785861212212042), UINT64_C(7310747921257808846),
-       UINT64_C(13759009477111470372), UINT64_C(11942123860149328831),
-       UINT64_C(12868386070200572127), UINT64_C(18348617059674004332),
-       UINT64_C(4233208019331956061) });
-
-  run_test<__gnu_cxx::sfmt216091>({ UINT32_C(4171954654), UINT32_C(2938491210),
-       UINT32_C(1356393891), UINT32_C(3558249995), UINT32_C(3711769979),
-       UINT32_C(3434953144), UINT32_C(1601628304), UINT32_C(2187495640),
-       UINT32_C(1762169715), UINT32_C(2141213778) });
-
-  run_test<__gnu_cxx::sfmt216091_64>({ UINT64_C(11322404276387828766),
-       UINT64_C(9653391575000195546), UINT64_C(1767839622905368464),
-       UINT64_C(1690838241348740821), UINT64_C(817628268513271254),
-       UINT64_C(15111277786569319196), UINT64_C(15817118810543358764),
-       UINT64_C(5639001693408668083), UINT64_C(9959854003669400568),
-       UINT64_C(13675983279642398887) });
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/cons/seed1.cc b/libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/cons/seed1.cc
deleted file mode 100644 (file)
index 1926958..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
-// 2012-08-28  Ulrich Drepper  <drepper@gmail.com>, adapted for SFMT
-//
-// Copyright (C) 2008, 2009, 2010, 2012 Free 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>
-
-void
-test01()
-{
-  unsigned long seed = 2;
-  __gnu_cxx::simd_fast_mersenne_twister_engine<
-    uint64_t, 607, 2,
-    15, 3, 13, 3,
-    0xfdff37ffU, 0xef7f3f7dU,
-    0xff777b7dU, 0x7ff7fb2fU,
-    0x00000001U, 0x00000000U,
-    0x00000000U, 0x5986f054U> x(seed);
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/cons/seed2.cc b/libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/cons/seed2.cc
deleted file mode 100644 (file)
index 464512c..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
-// 2012-08-28  Ulrich Drepper  <drepper@gmail.com>, adapted for SFMT
-//
-// Copyright (C) 2008, 2009, 2010, 2012 Free 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>
-
-void
-test01()
-{
-  double seed = 2.0;
-  __gnu_cxx::simd_fast_mersenne_twister_engine<
-    uint64_t, 607, 2,
-    15, 3, 13, 3,
-    0xfdff37ffU, 0xef7f3f7dU,
-    0xff777b7dU, 0x7ff7fb2fU,
-    0x00000001U, 0x00000000U,
-    0x00000000U, 0x5986f054U> x(seed);
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/cons/seed_seq.cc b/libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/cons/seed_seq.cc
deleted file mode 100644 (file)
index 4820fa4..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2010-02-01  Paolo Carlini  <paolo.carlini@oracle.com>
-// 2012-08-28  Ulrich Drepper  <drepper@gmail.com>, adapted for SFMT
-//
-// Copyright (C) 2010, 2012 Free 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>
-
-void
-test01()
-{
-  std::seed_seq seed;
-  __gnu_cxx::simd_fast_mersenne_twister_engine<
-    uint32_t, 607, 2,
-    15, 3, 13, 3,
-    0xfdff37ffU, 0xef7f3f7dU,
-    0xff777b7dU, 0x7ff7fb2fU,
-    0x00000001U, 0x00000000U,
-    0x00000000U, 0x5986f054U> x(seed);
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/operators/equal.cc
deleted file mode 100644 (file)
index 80022a6..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
-// 2012-08-28  Ulrich Drepper  <drepper@gmail.com>, adapted for SFMT
-//
-// Copyright (C) 2008, 2009, 2012 Free 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/>.
-
-// 26.4.3.2 Class template mersenne_twister_engine [rand.eng.mers]
-// 26.4.2.2 Concept RandomNumberEngine [rand.concept.eng]
-
-#include <ext/random>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  __gnu_cxx::sfmt19937 u, v;
-
-  VERIFY( u == v );
-
-  u.discard(100);
-  v.discard(100);
-
-  VERIFY( u == v );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/operators/inequal.cc
deleted file mode 100644 (file)
index 15aaf12..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2010-03-16  Paolo Carlini  <paolo.carlini@oracle.com>
-// 2012-08-28  Ulrich Drepper  <drepper@gmail.com>, adapted for SFMT
-//
-// Copyright (C) 2010, 2012 Free 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/>.
-
-// 26.5.3.2 Class template mersenne_twister_engine [rand.eng.mers]
-
-#include <ext/random>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  __gnu_cxx::sfmt19937 u, v;
-
-  VERIFY( !(u != v) );
-
-  u.discard(100);
-  v.discard(100);
-
-  VERIFY( !(u != v) );
-
-  v.discard(1);
-
-  VERIFY( u != v );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/operators/serialize.cc
deleted file mode 100644 (file)
index ddc62b5..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-require-cstdint "" }
-//
-// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
-// 2012-08-28  Ulrich Drepper  <drepper@gmail.com>, adapted for SFMT
-//
-// Copyright (C) 2008, 2009, 2010, 2011, 2012 Free 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/>.
-
-// 26.4.3.2 Class template mersenne_twister_engine [rand.eng.mers]
-// 26.4.2.2 Concept RandomNumberEngine [rand.concept.eng]
-
-#include <sstream>
-#include <ext/random>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  std::stringstream str;
-  __gnu_cxx::sfmt19937 u, v;
-
-  u(); // advance
-  str << u;
-
-  VERIFY( !(u == v) );
-
-  str >> v;
-  VERIFY( u == v );
-  for (unsigned i = 0; i < 1000; ++i)
-    VERIFY( u() == v() );
-
-  str.clear();
-  str << v;
-
-  u();
-  u();
-  u();
-
-  str >> u;
-  VERIFY( u == v );
-  for (unsigned i = 0; i < 1000; ++i)
-    VERIFY( u() == v() );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/ext/random/beta_distribution/cons/default.cc b/libstdc++-v3/testsuite/ext/random/beta_distribution/cons/default.cc
new file mode 100644 (file)
index 0000000..3aa2d85
--- /dev/null
@@ -0,0 +1,43 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
+// 2012-09-04  Ulrich Drepper <drepper@gmail.com>
+//
+// Copyright (C) 2012 Free 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>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  __gnu_cxx::beta_distribution<> u;
+  VERIFY( u.alpha() == 1.0 );
+  VERIFY( u.beta() == 1.0 );
+  VERIFY( u.min() == 0.0 );
+  VERIFY( u.max() == 1.0 );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/beta_distribution/cons/parms.cc b/libstdc++-v3/testsuite/ext/random/beta_distribution/cons/parms.cc
new file mode 100644 (file)
index 0000000..9d6c0b1
--- /dev/null
@@ -0,0 +1,43 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
+// 2012-09-04  Ulrich Drepper <drepper@gmail.com>
+//
+// Copyright (C) 2012 Free 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>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  __gnu_cxx::beta_distribution<> u(1.5, 3.0);
+  VERIFY( u.alpha() == 1.5 );
+  VERIFY( u.beta() == 3.0 );
+  VERIFY( u.min() == 0.0 );
+  VERIFY( u.max() == 1.0 );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/beta_distribution/operators/equal.cc b/libstdc++-v3/testsuite/ext/random/beta_distribution/operators/equal.cc
new file mode 100644 (file)
index 0000000..a31a654
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2010-03-16  Paolo Carlini  <paolo.carlini@oracle.com>
+// 2012-09-04  Ulrich Drepper  <drepper@gmail.com>
+//
+// Copyright (C) 2012 Free 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>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  __gnu_cxx::beta_distribution<double> u(1.5, 3.0), v, w;
+
+  VERIFY( v == w );
+  VERIFY( !(u == v) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/beta_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/ext/random/beta_distribution/operators/inequal.cc
new file mode 100644 (file)
index 0000000..d7eda39
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2010-03-16  Paolo Carlini  <paolo.carlini@oracle.com>
+// 2012-09-04  Ulrich Drepper  <drepper@gmail.com>
+//
+// Copyright (C) 2012 Free 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>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  __gnu_cxx::beta_distribution<double> u(1.5, 3.0), v, w;
+
+  VERIFY( u != v );
+  VERIFY( !(v != w) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/beta_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/ext/random/beta_distribution/operators/serialize.cc
new file mode 100644 (file)
index 0000000..dd2fed8
--- /dev/null
@@ -0,0 +1,44 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2009-08-14  Edward M. Smith-Rowland  <3dw4rd@verizon.net>
+// 2012-09-04  Ulrich Drepper  <drepper@gmail.com>
+//
+// Copyright (C) 2012 Free 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>
+#include <sstream>
+
+void
+test01()
+{
+  std::stringstream str;
+  __gnu_cxx::beta_distribution<double> u(1.5, 3.0), v;
+  std::minstd_rand0 rng;
+
+  u(rng); // advance
+  str << u;
+
+  str >> v;
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/beta_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/ext/random/beta_distribution/requirements/explicit_instantiation/1.cc
new file mode 100644 (file)
index 0000000..a572b14
--- /dev/null
@@ -0,0 +1,26 @@
+// { 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::beta_distribution<float>;
+template class __gnu_cxx::beta_distribution<double>;
+template class __gnu_cxx::beta_distribution<long double>;
diff --git a/libstdc++-v3/testsuite/ext/random/beta_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/ext/random/beta_distribution/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..33b18ae
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
+// 2012-09-04  Ulrich Drepper <drepper@gmail.com>
+//
+// Copyright (C) 2012 Free 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>
+
+void
+test01()
+{
+  typedef __gnu_cxx::beta_distribution<double> test_type;
+
+  typedef test_type::result_type result_type;
+  typedef test_type::param_type param_type;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/default.cc b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/default.cc
new file mode 100644 (file)
index 0000000..a51fde4
--- /dev/null
@@ -0,0 +1,49 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
+// 2012-09-04  Ulrich Drepper <drepper@gmail.com>
+//
+// Copyright (C) 2012 Free 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>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  __gnu_cxx::normal_mv_distribution<2> u;
+  VERIFY( u.mean()[0] == 0.0 );
+  VERIFY( u.mean()[1] == 0.0 );
+  VERIFY( u.varcov()[0] == 1.0 );
+  VERIFY( u.varcov()[1] == 0.0 );
+  VERIFY( u.varcov()[2] == 1.0 );
+  typedef __gnu_cxx::normal_mv_distribution<2>::result_type result_type;
+  VERIFY( u.min()[0] == std::numeric_limits<result_type::value_type>::min() );
+  VERIFY( u.max()[0] == std::numeric_limits<result_type::value_type>::max() );
+  VERIFY( u.min()[1] == std::numeric_limits<result_type::value_type>::min() );
+  VERIFY( u.max()[1] == std::numeric_limits<result_type::value_type>::max() );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/parms.cc b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/parms.cc
new file mode 100644 (file)
index 0000000..d127221
--- /dev/null
@@ -0,0 +1,49 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
+// 2012-09-04  Ulrich Drepper <drepper@gmail.com>
+//
+// Copyright (C) 2012 Free 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>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  __gnu_cxx::normal_mv_distribution<2> u({5.0, 4.0}, {4.0, 9.0});
+  VERIFY( u.mean()[0] == 5.0 );
+  VERIFY( u.mean()[1] == 4.0 );
+  VERIFY( u.varcov()[0] == 2.0 );
+  VERIFY( u.varcov()[1] == 0.0 );
+  VERIFY( u.varcov()[2] == 3.0 );
+  typedef __gnu_cxx::normal_mv_distribution<2>::result_type result_type;
+  VERIFY( u.min()[0] == std::numeric_limits<result_type::value_type>::min() );
+  VERIFY( u.max()[0] == std::numeric_limits<result_type::value_type>::max() );
+  VERIFY( u.min()[1] == std::numeric_limits<result_type::value_type>::min() );
+  VERIFY( u.max()[1] == std::numeric_limits<result_type::value_type>::max() );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/equal.cc b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/equal.cc
new file mode 100644 (file)
index 0000000..99b7581
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2010-03-16  Paolo Carlini  <paolo.carlini@oracle.com>
+// 2012-09-04  Ulrich Drepper  <drepper@gmail.com>
+//
+// Copyright (C) 2012 Free 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>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  __gnu_cxx::normal_mv_distribution<2,double> u({5.0, 4.0}, {2.0, 1.5}), v, w;
+
+  VERIFY( v == w );
+  VERIFY( !(u == v) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/inequal.cc
new file mode 100644 (file)
index 0000000..80472a1
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2010-03-16  Paolo Carlini  <paolo.carlini@oracle.com>
+// 2012-09-04  Ulrich Drepper  <drepper@gmail.com>
+//
+// Copyright (C) 2012 Free 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>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  __gnu_cxx::normal_mv_distribution<2,double> u({3.0, 5.0}, {1.0, 2.0}), v, w;
+
+  VERIFY( u != v );
+  VERIFY( !(v != w) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/serialize.cc
new file mode 100644 (file)
index 0000000..3620a9b
--- /dev/null
@@ -0,0 +1,44 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2009-08-14  Edward M. Smith-Rowland  <3dw4rd@verizon.net>
+// 2012-09-04  Ulrich Drepper  <drepper@gmail.com>
+//
+// Copyright (C) 2012 Free 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>
+#include <sstream>
+
+void
+test01()
+{
+  std::stringstream str;
+  __gnu_cxx::normal_mv_distribution<2,double> u({1.0, 5.0}, {2.0, 4.0}), v;
+  std::minstd_rand0 rng;
+
+  u(rng); // advance
+  str << u;
+
+  str >> v;
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/requirements/explicit_instantiation/1.cc
new file mode 100644 (file)
index 0000000..55c4431
--- /dev/null
@@ -0,0 +1,26 @@
+// { 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::normal_mv_distribution<2,float>;
+template class __gnu_cxx::normal_mv_distribution<2,double>;
+template class __gnu_cxx::normal_mv_distribution<2,long double>;
diff --git a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..4a0a14c
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
+// 2012-09-04  Ulrich Drepper <drepper@gmail.com>
+//
+// Copyright (C) 2012 Free 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>
+
+void
+test01()
+{
+  typedef __gnu_cxx::normal_mv_distribution<3,double> test_type;
+
+  typedef test_type::result_type result_type;
+  typedef test_type::param_type param_type;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/rice_distribution/cons/default.cc b/libstdc++-v3/testsuite/ext/random/rice_distribution/cons/default.cc
new file mode 100644 (file)
index 0000000..3a49140
--- /dev/null
@@ -0,0 +1,47 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2012-01-28  Edward M. Smith-Rowland <3dw4rd@verizon.net>
+//
+// Copyright (C) 2012 Free 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/>.
+
+// 26.4.8.3.* Class template rice_distribution [rand.dist.ext.rice]
+// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+
+#include <ext/random>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  __gnu_cxx::rice_distribution<> u;
+  VERIFY( u.nu() == 0.0 );
+  VERIFY( u.sigma() == 1.0 );
+  VERIFY( u.min() == 0.0 );
+  typedef __gnu_cxx::rice_distribution<>::result_type result_type;
+  VERIFY( u.max() == std::numeric_limits<result_type>::max() );
+}
+
+int
+main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/rice_distribution/cons/parms.cc b/libstdc++-v3/testsuite/ext/random/rice_distribution/cons/parms.cc
new file mode 100644 (file)
index 0000000..fa79ef5
--- /dev/null
@@ -0,0 +1,47 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2012-01-28  Edward M. Smith-Rowland <3dw4rd@verizon.net>
+//
+// Copyright (C) 2012 Free 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/>.
+
+// 26.4.8.3.* Class template rice_distribution [rand.dist.ext.rice]
+// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+
+#include <ext/random>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  __gnu_cxx::rice_distribution<> u(1.5, 3.0);
+  VERIFY( u.nu() == 1.5 );
+  VERIFY( u.sigma() == 3.0 );
+  VERIFY( u.min() == 0.0 );
+  typedef __gnu_cxx::rice_distribution<>::result_type result_type;
+  VERIFY( u.max() == std::numeric_limits<result_type>::max() );
+}
+
+int
+main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/rice_distribution/operators/equal.cc b/libstdc++-v3/testsuite/ext/random/rice_distribution/operators/equal.cc
new file mode 100644 (file)
index 0000000..2539d6e
--- /dev/null
@@ -0,0 +1,44 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2012-01-28  Edward M. Smith-Rowland  <3dw4rd@verizon.net>
+//
+// Copyright (C) 2012 Free 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/>.
+
+// 26.5.8.4.5 Class template rice_distribution [rand.dist.ext.rice]
+
+#include <ext/random>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  __gnu_cxx::rice_distribution<double> u(2.0, 3.0), v, w;
+
+  VERIFY( v == w );
+  VERIFY( !(u == v) );
+}
+
+int
+main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/rice_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/ext/random/rice_distribution/operators/inequal.cc
new file mode 100644 (file)
index 0000000..a3f1512
--- /dev/null
@@ -0,0 +1,44 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2012-01-28  Edward M. Smith-Rowland  <3dw4rd@verizon.net>
+//
+// Copyright (C) 2012 Free 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/>.
+
+// 26.5.8.4.5 Class template rice_distribution [rand.dist.ext.rice]
+
+#include <ext/random>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  __gnu_cxx::rice_distribution<double> u(2.0, 3.0), v, w;
+
+  VERIFY( u != v );
+  VERIFY( !(v != w) );
+}
+
+int
+main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/rice_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/ext/random/rice_distribution/operators/serialize.cc
new file mode 100644 (file)
index 0000000..9d39c30
--- /dev/null
@@ -0,0 +1,51 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2012-01-28  Edward M. Smith-Rowland  <3dw4rd@verizon.net>
+//
+// Copyright (C) 2012 Free 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/>.
+
+// 26.4.8.3.* Class template rice_distribution [rand.dist.ext.rice]
+// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+
+#include <ext/random>
+#include <sstream>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  std::stringstream str;
+  __gnu_cxx::rice_distribution<double> u(1.5, 3.0), v;
+  std::minstd_rand0 rng;
+
+  u(rng); // advance
+  str << u;
+
+  str >> v;
+  VERIFY( u == v );
+}
+
+int
+main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/rice_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/ext/random/rice_distribution/requirements/explicit_instantiation/1.cc
new file mode 100644 (file)
index 0000000..2026c9e
--- /dev/null
@@ -0,0 +1,26 @@
+// { 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>;
diff --git a/libstdc++-v3/testsuite/ext/random/rice_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/ext/random/rice_distribution/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..b524a7b
--- /dev/null
@@ -0,0 +1,36 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2012-01-28  Edward M. Smith-Rowland <3dw4rd@verizon.net>
+//
+// Copyright (C) 2012 Free 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/>.
+
+// 26.4.8.3.* Class template rice_distribution [rand.dist.ext.rice]
+// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+
+#include <ext/random>
+
+void
+test01()
+{
+  typedef __gnu_cxx::rice_distribution<double> test_type;
+
+  typedef test_type::result_type result_type;
+  typedef test_type::param_type param_type;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/copy.cc b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/copy.cc
new file mode 100644 (file)
index 0000000..8371f46
--- /dev/null
@@ -0,0 +1,47 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2010-02-16  Paolo Carlini  <paolo.carlini@oracle.com>
+// 2012-08-28  Ulrich Drepper  <drepper@gmail.com>, adapted for SFMT
+//
+// Copyright (C) 2010, 2012 Free 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>
+
+void
+test01()
+{
+  typedef uint32_t value_type;
+
+  __gnu_cxx::simd_fast_mersenne_twister_engine<value_type, 607, 2,
+                                              15, 3, 13, 3,
+                                              0xfdff37ffU, 0xef7f3f7dU,
+                                              0xff777b7dU, 0x7ff7fb2fU,
+                                              0x00000001U, 0x00000000U,
+                                              0x00000000U, 0x5986f054U> e(1);
+
+  const auto f(e);
+  auto g(f);
+  g = g; // Suppress unused warning.
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/default.cc b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/default.cc
new file mode 100644 (file)
index 0000000..5b6489a
--- /dev/null
@@ -0,0 +1,183 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
+// 2012-08-28  Ulrich Drepper  <drepper@gmail.com>, adapted for SFMT
+//
+// Copyright (C) 2008, 2009, 2010, 2012 Free 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 <iostream>
+#include <ext/random>
+#include <testsuite_hooks.h>
+
+
+template<class SFMT>
+void run_test(std::initializer_list<typename SFMT::result_type> vals)
+{
+  typedef typename SFMT::result_type result_type;
+  SFMT e;
+
+  e.seed(sizeof(result_type) == 4 ? 1234 : 4321);
+  e.discard(990);
+  bool success = true;
+  for (auto i : vals)
+    {
+      result_type r = e();
+      success &= r == i;
+      std::cout << r << " vs " << i << std::endl;
+    }
+  VERIFY( success );
+}
+
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  __gnu_cxx::sfmt19937 e;
+
+  VERIFY( e.min() == 0 );
+  VERIFY( e.max() == std::numeric_limits<uint32_t>::max() );
+
+  run_test<__gnu_cxx::sfmt607>({ UINT32_C(1318548553), UINT32_C(1985957974),
+       UINT32_C(1367744196), UINT32_C(3463392791), UINT32_C(2780736231),
+       UINT32_C(3894488561), UINT32_C(3157036262), UINT32_C(3491812767),
+       UINT32_C(1724574180), UINT32_C(3645035493) });
+
+  run_test<__gnu_cxx::sfmt607_64>({UINT64_C(15510024334182072935),
+       UINT64_C(5793753331747412752), UINT64_C(16198353238554625740),
+       UINT64_C(2233208824926016498), UINT64_C(3566091399820823780),
+       UINT64_C(16608268514591292798), UINT64_C(10684941689666043359),
+       UINT64_C(12463424292910456802), UINT64_C(5902567440240131366),
+       UINT64_C(7228030834036501150) });
+
+  run_test<__gnu_cxx::sfmt1279>({ UINT32_C(66657331), UINT32_C(637106837),
+       UINT32_C(406927341), UINT32_C(3964420203), UINT32_C(2127134160),
+       UINT32_C(1327235047), UINT32_C(227339400), UINT32_C(97109542),
+       UINT32_C(1814799261), UINT32_C(340888197) });
+
+  run_test<__gnu_cxx::sfmt1279_64>({ UINT64_C(16431921382083697129),
+       UINT64_C(3107599092104940900), UINT64_C(4055245506102959965),
+       UINT64_C(16096064917153424198), UINT64_C(14429331498726837109),
+       UINT64_C(9539664361920633782), UINT64_C(1435296568185387099),
+       UINT64_C(15922567183295047131), UINT64_C(641988285517426228),
+       UINT64_C(15936274870984512675) });
+
+  run_test<__gnu_cxx::sfmt2281>({ UINT32_C(2662391944), UINT32_C(1176696104),
+       UINT32_C(3587947451), UINT32_C(4098993357), UINT32_C(3140998698),
+       UINT32_C(870759742), UINT32_C(623529127), UINT32_C(3458807285),
+       UINT32_C(3341615957), UINT32_C(195614711) });
+
+  run_test<__gnu_cxx::sfmt2281_64>({ UINT64_C(16747191622237074632),
+       UINT64_C(15804170396401370381), UINT64_C(3395175278324920203),
+       UINT64_C(1541877340159274442), UINT64_C(14176322102994316687),
+       UINT64_C(5130618305074712143), UINT64_C(6769693652413407081),
+       UINT64_C(17733765687477661079), UINT64_C(5189766940360047353),
+       UINT64_C(1333654688569723389) });
+
+  run_test<__gnu_cxx::sfmt4253>({ UINT32_C(90342133), UINT32_C(1083987943),
+       UINT32_C(1785481425), UINT32_C(1921212667), UINT32_C(3164342992),
+       UINT32_C(1489324569), UINT32_C(603530523), UINT32_C(952851722),
+       UINT32_C(2380944844), UINT32_C(3335854133) });
+
+  run_test<__gnu_cxx::sfmt4253_64>({ UINT64_C(11570915401962514263),
+       UINT64_C(206693220452528225), UINT64_C(16553299974633247759),
+       UINT64_C(1069562842508952901), UINT64_C(7203975672387749585),
+       UINT64_C(7552781925224963166), UINT64_C(16865729458807008705),
+       UINT64_C(7848963629493506078), UINT64_C(9282397173969292817),
+       UINT64_C(10738488504584559289) });
+
+  run_test<__gnu_cxx::sfmt11213>({ UINT32_C(2072997009), UINT32_C(1332330347),
+       UINT32_C(179681555), UINT32_C(2315290438), UINT32_C(2429393974),
+       UINT32_C(509881964), UINT32_C(3807607878), UINT32_C(3055319970),
+       UINT32_C(671840881), UINT32_C(3477325874) });
+
+  run_test<__gnu_cxx::sfmt11213_64>({ UINT64_C(373867573626408653),
+       UINT64_C(4732829340233638861), UINT64_C(16174630176505735656),
+       UINT64_C(10063018133994900869), UINT64_C(17308645173308419196),
+       UINT64_C(11091353816581371951), UINT64_C(15078420471318089727),
+       UINT64_C(17965717592743818706), UINT64_C(12301543162252389155),
+       UINT64_C(1724943167823308511) });
+
+  run_test<__gnu_cxx::sfmt19937>({ UINT32_C(4002809368), UINT32_C(421169044),
+       UINT32_C(1112642589), UINT32_C(3076213779), UINT32_C(3387033971),
+       UINT32_C(2499610950), UINT32_C(3057240914), UINT32_C(1662679783),
+       UINT32_C(461224431), UINT32_C(1168395933) });
+
+  run_test<__gnu_cxx::sfmt19937_64>({ UINT64_C(8032857516355555296),
+       UINT64_C(14023605983059313116), UINT64_C(1032336061815461376),
+       UINT64_C(9840995337876562612), UINT64_C(9869256223029203587),
+       UINT64_C(12227975697177267636), UINT64_C(12728115115844186033),
+       UINT64_C(7752058479783205470), UINT64_C(729733219713393087),
+       UINT64_C(12954017801239007622) });
+
+  run_test<__gnu_cxx::sfmt44497>({ UINT32_C(1483092082), UINT32_C(1895679637),
+       UINT32_C(9122740), UINT32_C(635864575), UINT32_C(320732971),
+       UINT32_C(4253159584), UINT32_C(30097521), UINT32_C(839233316),
+       UINT32_C(1431693534), UINT32_C(645981752) });
+
+  run_test<__gnu_cxx::sfmt44497_64>({ UINT64_C(6246103978016445638),
+       UINT64_C(4198275826138953222), UINT64_C(12473679170573289212),
+       UINT64_C(14745709982748360209), UINT64_C(3630790792408208113),
+       UINT64_C(4195294399578350499), UINT64_C(3742595698794327253),
+       UINT64_C(17388385867517445933), UINT64_C(4261866397667814669),
+       UINT64_C(17394085161690598095) });
+
+  run_test<__gnu_cxx::sfmt86243>({ UINT32_C(3910985535), UINT32_C(100094501),
+       UINT32_C(3120362616), UINT32_C(1854432382), UINT32_C(314688154),
+       UINT32_C(522122712), UINT32_C(3026095676), UINT32_C(3681962735),
+       UINT32_C(1851548627), UINT32_C(2153846465) });
+
+  run_test<__gnu_cxx::sfmt86243_64>({ UINT64_C(250135615696586029),
+       UINT64_C(4836277875486422184), UINT64_C(12389320296183057446),
+       UINT64_C(7983028875884559442), UINT64_C(10079555227308335361),
+       UINT64_C(14829333386540244214), UINT64_C(12159744972103351172),
+       UINT64_C(4932579842314286356), UINT64_C(5200375244476537050),
+       UINT64_C(11795681221121010641) });
+
+  run_test<__gnu_cxx::sfmt132049>({ UINT32_C(1551023420), UINT32_C(1462317554),
+       UINT32_C(2882528449), UINT32_C(1136299843), UINT32_C(292840589),
+       UINT32_C(1307775247), UINT32_C(463274356), UINT32_C(1430357686),
+       UINT32_C(3907607055), UINT32_C(3462509184) });
+
+  run_test<__gnu_cxx::sfmt132049_64>({ UINT64_C(649482638765113922),
+       UINT64_C(14205859353699897918), UINT64_C(14077261854908137257),
+       UINT64_C(9564785861212212042), UINT64_C(7310747921257808846),
+       UINT64_C(13759009477111470372), UINT64_C(11942123860149328831),
+       UINT64_C(12868386070200572127), UINT64_C(18348617059674004332),
+       UINT64_C(4233208019331956061) });
+
+  run_test<__gnu_cxx::sfmt216091>({ UINT32_C(4171954654), UINT32_C(2938491210),
+       UINT32_C(1356393891), UINT32_C(3558249995), UINT32_C(3711769979),
+       UINT32_C(3434953144), UINT32_C(1601628304), UINT32_C(2187495640),
+       UINT32_C(1762169715), UINT32_C(2141213778) });
+
+  run_test<__gnu_cxx::sfmt216091_64>({ UINT64_C(11322404276387828766),
+       UINT64_C(9653391575000195546), UINT64_C(1767839622905368464),
+       UINT64_C(1690838241348740821), UINT64_C(817628268513271254),
+       UINT64_C(15111277786569319196), UINT64_C(15817118810543358764),
+       UINT64_C(5639001693408668083), UINT64_C(9959854003669400568),
+       UINT64_C(13675983279642398887) });
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed1.cc b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed1.cc
new file mode 100644 (file)
index 0000000..1926958
--- /dev/null
@@ -0,0 +1,43 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
+// 2012-08-28  Ulrich Drepper  <drepper@gmail.com>, adapted for SFMT
+//
+// Copyright (C) 2008, 2009, 2010, 2012 Free 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>
+
+void
+test01()
+{
+  unsigned long seed = 2;
+  __gnu_cxx::simd_fast_mersenne_twister_engine<
+    uint64_t, 607, 2,
+    15, 3, 13, 3,
+    0xfdff37ffU, 0xef7f3f7dU,
+    0xff777b7dU, 0x7ff7fb2fU,
+    0x00000001U, 0x00000000U,
+    0x00000000U, 0x5986f054U> x(seed);
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed2.cc b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed2.cc
new file mode 100644 (file)
index 0000000..464512c
--- /dev/null
@@ -0,0 +1,43 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
+// 2012-08-28  Ulrich Drepper  <drepper@gmail.com>, adapted for SFMT
+//
+// Copyright (C) 2008, 2009, 2010, 2012 Free 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>
+
+void
+test01()
+{
+  double seed = 2.0;
+  __gnu_cxx::simd_fast_mersenne_twister_engine<
+    uint64_t, 607, 2,
+    15, 3, 13, 3,
+    0xfdff37ffU, 0xef7f3f7dU,
+    0xff777b7dU, 0x7ff7fb2fU,
+    0x00000001U, 0x00000000U,
+    0x00000000U, 0x5986f054U> x(seed);
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq.cc b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq.cc
new file mode 100644 (file)
index 0000000..4820fa4
--- /dev/null
@@ -0,0 +1,43 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2010-02-01  Paolo Carlini  <paolo.carlini@oracle.com>
+// 2012-08-28  Ulrich Drepper  <drepper@gmail.com>, adapted for SFMT
+//
+// Copyright (C) 2010, 2012 Free 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>
+
+void
+test01()
+{
+  std::seed_seq seed;
+  __gnu_cxx::simd_fast_mersenne_twister_engine<
+    uint32_t, 607, 2,
+    15, 3, 13, 3,
+    0xfdff37ffU, 0xef7f3f7dU,
+    0xff777b7dU, 0x7ff7fb2fU,
+    0x00000001U, 0x00000000U,
+    0x00000000U, 0x5986f054U> x(seed);
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/equal.cc b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/equal.cc
new file mode 100644 (file)
index 0000000..80022a6
--- /dev/null
@@ -0,0 +1,49 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
+// 2012-08-28  Ulrich Drepper  <drepper@gmail.com>, adapted for SFMT
+//
+// Copyright (C) 2008, 2009, 2012 Free 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/>.
+
+// 26.4.3.2 Class template mersenne_twister_engine [rand.eng.mers]
+// 26.4.2.2 Concept RandomNumberEngine [rand.concept.eng]
+
+#include <ext/random>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  __gnu_cxx::sfmt19937 u, v;
+
+  VERIFY( u == v );
+
+  u.discard(100);
+  v.discard(100);
+
+  VERIFY( u == v );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/inequal.cc b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/inequal.cc
new file mode 100644 (file)
index 0000000..15aaf12
--- /dev/null
@@ -0,0 +1,52 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2010-03-16  Paolo Carlini  <paolo.carlini@oracle.com>
+// 2012-08-28  Ulrich Drepper  <drepper@gmail.com>, adapted for SFMT
+//
+// Copyright (C) 2010, 2012 Free 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/>.
+
+// 26.5.3.2 Class template mersenne_twister_engine [rand.eng.mers]
+
+#include <ext/random>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  __gnu_cxx::sfmt19937 u, v;
+
+  VERIFY( !(u != v) );
+
+  u.discard(100);
+  v.discard(100);
+
+  VERIFY( !(u != v) );
+
+  v.discard(1);
+
+  VERIFY( u != v );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/serialize.cc b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/serialize.cc
new file mode 100644 (file)
index 0000000..ddc62b5
--- /dev/null
@@ -0,0 +1,66 @@
+// { dg-options "-std=c++0x" }
+// { dg-require-cstdint "" }
+//
+// 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
+// 2012-08-28  Ulrich Drepper  <drepper@gmail.com>, adapted for SFMT
+//
+// Copyright (C) 2008, 2009, 2010, 2011, 2012 Free 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/>.
+
+// 26.4.3.2 Class template mersenne_twister_engine [rand.eng.mers]
+// 26.4.2.2 Concept RandomNumberEngine [rand.concept.eng]
+
+#include <sstream>
+#include <ext/random>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  std::stringstream str;
+  __gnu_cxx::sfmt19937 u, v;
+
+  u(); // advance
+  str << u;
+
+  VERIFY( !(u == v) );
+
+  str >> v;
+  VERIFY( u == v );
+  for (unsigned i = 0; i < 1000; ++i)
+    VERIFY( u() == v() );
+
+  str.clear();
+  str << v;
+
+  u();
+  u();
+  u();
+
+  str >> u;
+  VERIFY( u == v );
+  for (unsigned i = 0; i < 1000; ++i)
+    VERIFY( u() == v() );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}