summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/26_numerics/random
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2018-06-12 20:10:55 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2018-06-12 20:10:55 +0100
commitdd9db6f897cbe85f830a5606435afe51961dbda8 (patch)
tree569acda1ce35ce3401fadf07906c81347bc203df /libstdc++-v3/testsuite/26_numerics/random
parentb80a188beea98da44228d6030932af0769946f83 (diff)
downloadgcc-dd9db6f897cbe85f830a5606435afe51961dbda8.tar.gz
P0935R0 Eradicating unnecessarily explicit default constructors
Explicit default constructors are problematic, so this change removes them from <random> and <ext/random>, as per P0935R0. * include/bits/random.h (linear_congruential_engine) (mersenne_twister_engine, subtract_with_carry_engine, random_device) (uniform_real_distribution, normal_distribution) (lognormal_distribution, gamma_distribution, chi_squared_distribution) (cauchy_distribution, fisher_f_distribution, student_t_distribution) (bernoulli_distribution, binomial_distribution,geometric_distribution) (negative_binomial_distribution, exponential_distribution) (weibull_distribution, extreme_value_distribution): Add non-explicit default constructors. Remove default argument for first parameter of explicit constructors. (piecewise_constant_distribution, piecewise_linear_distribution): Make default constructor non-explicit. * include/bits/uniform_int_dist.h (uniform_int_distribution): Add non-explicit default constructors. Remove default argument for first parameter of explicit constructor. (simd_fast_mersenne_twister_engine, beta_distribution) (rice_distribution, nakagami_distribution, pareto_distribution) (k_distribution, arcsine_distribution, hoyt_distribution) (triangular_distribution, von_mises_distribution) (hypergeometric_distribution, logistic_distribution) (uniform_inside_sphere_distribution): Likewise. (uniform_on_sphere_distribution): Make default constructor non-explicit. * testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc: Test for non-explicit default constructor. Fix references to standard. * testsuite/26_numerics/random/binomial_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/cauchy_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/chi_squared_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/discrete_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/exponential_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/extreme_value_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/gamma_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/geometric_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/lognormal_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/negative_binomial_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/normal_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/piecewise_constant_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/piecewise_linear_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/poisson_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/student_t_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/uniform_int_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/uniform_real_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/weibull_distribution/cons/default.cc: Likewise. * testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise. * testsuite/ext/random/beta_distribution/cons/default.cc: Likewise. * testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise. * testsuite/ext/random/hypergeometric_distribution/cons/default.cc: Likewise. * testsuite/ext/random/k_distribution/cons/default.cc: Likewise. * testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise. * testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise. * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise. * testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise. * testsuite/ext/random/rice_distribution/cons/default.cc: Likewise. * testsuite/ext/random/triangular_distribution/cons/default.cc: Likewise. * testsuite/ext/random/uniform_inside_sphere_distribution/cons/default.cc: Likewise. * testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc: Likewise. * testsuite/ext/random/von_mises_distribution/cons/default.cc: Likewise. * testsuite/util/testsuite_common_types.h (implicitly_default_constructible): New helper. From-SVN: r261522
Diffstat (limited to 'libstdc++-v3/testsuite/26_numerics/random')
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc15
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/cons/default.cc15
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/cons/default.cc15
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/cons/default.cc15
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/default.cc15
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/cons/default.cc15
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/cons/default.cc15
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc15
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/cons/default.cc15
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/cons/default.cc18
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/cons/default.cc18
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/cons/default.cc18
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/default.cc18
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/default.cc18
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/default.cc18
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/cons/default.cc18
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/cons/default.cc18
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/cons/default.cc18
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/cons/default.cc18
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/cons/default.cc18
20 files changed, 262 insertions, 71 deletions
diff --git a/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc
index 46c5af0f2a4..42096c0fd34 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc
@@ -20,11 +20,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// 26.4.8.2.1 Class template bernoulli_distribution [rand.dist.bern.bernoulli]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+// C++11
+// 26.5.8.3.1 Class bernoulli_distribution [rand.dist.bern.bernoulli]
+// 26.5.1.6 random number distribution requirements [rand.req.dist]
#include <random>
#include <testsuite_hooks.h>
+#include <testsuite_common_types.h>
void
test01()
@@ -35,8 +37,15 @@ test01()
VERIFY( u.max() == std::numeric_limits<bool>::max() );
}
+void
+test02()
+{
+ __gnu_test::implicitly_default_constructible test;
+ test.operator()<std::bernoulli_distribution>();
+}
+
int main()
{
test01();
- return 0;
+ test02();
}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/cons/default.cc
index 74a7a786064..6cf82f1b86c 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/cons/default.cc
@@ -20,11 +20,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// 26.4.8.2.2 Class template binomial_distribution [rand.dist.bern.bin]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+// C++11
+// 26.5.8.3.2 Class template binomial_distribution [rand.dist.bern.bin]
+// 26.5.1.6 random number distribution requirements [rand.req.dist]
#include <random>
#include <testsuite_hooks.h>
+#include <testsuite_common_types.h>
void
test01()
@@ -36,8 +38,15 @@ test01()
VERIFY( u.max() == u.t() );
}
+void
+test02()
+{
+ __gnu_test::implicitly_default_constructible test;
+ test.operator()<std::binomial_distribution<>>();
+}
+
int main()
{
test01();
- return 0;
+ test02();
}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/cons/default.cc
index 04bc15c5182..c1c71ce2ce7 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/cons/default.cc
@@ -20,11 +20,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// 26.4.8.4.4 Class template cauchy_distribution [rand.dist.norm.cauchy]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+// C++11
+// 26.5.8.5.4 Class template cauchy_distribution [rand.dist.norm.cauchy]
+// 26.5.1.6 random number distribution requirements [rand.req.dist]
#include <random>
#include <testsuite_hooks.h>
+#include <testsuite_common_types.h>
void
test01()
@@ -37,8 +39,15 @@ test01()
VERIFY( u.max() == std::numeric_limits<result_type>::max() );
}
+void
+test02()
+{
+ __gnu_test::implicitly_default_constructible test;
+ test.operator()<std::cauchy_distribution<>>();
+}
+
int main()
{
test01();
- return 0;
+ test02();
}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/cons/default.cc
index df985c3e653..8ecf7c0ce4a 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/cons/default.cc
@@ -20,11 +20,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// 26.4.8.4.3 Class template chi_squared_distribution [rand.dist.norm.chisq]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+// C++11
+// 26.5.8.5.3 Class template chi_squared_distribution [rand.dist.norm.chisq]
+// 26.5.1.6 random number distribution requirements [rand.req.dist]
#include <random>
#include <testsuite_hooks.h>
+#include <testsuite_common_types.h>
void
test01()
@@ -36,8 +38,15 @@ test01()
VERIFY( u.max() == std::numeric_limits<result_type>::max() );
}
+void
+test02()
+{
+ __gnu_test::implicitly_default_constructible test;
+ test.operator()<std::chi_squared_distribution<>>();
+}
+
int main()
{
test01();
- return 0;
+ test02();
}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/default.cc
index 6a82f46a686..0e837ed1046 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/default.cc
@@ -20,11 +20,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// 26.4.8.5.1 Class template discrete_distribution [rand.dist.samp.discrete]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+// C++11
+// 26.5.8.6.1 Class template discrete_distribution [rand.dist.samp.discrete]
+// 26.5.1.6 random number distribution requirements [rand.req.dist]
#include <random>
#include <testsuite_hooks.h>
+#include <testsuite_common_types.h>
void
test01()
@@ -35,8 +37,15 @@ test01()
VERIFY( probablility[0] == 1.0 );
}
+void
+test02()
+{
+ __gnu_test::implicitly_default_constructible test;
+ test.operator()<std::discrete_distribution<>>();
+}
+
int main()
{
test01();
- return 0;
+ test02();
}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/cons/default.cc
index 00b1f003c61..7285bd351a3 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/cons/default.cc
@@ -20,11 +20,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// 26.4.8.3.2 Class template exponential_distribution [rand.dist.pois.exp]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+// C++11
+// 26.5.8.4.2 Class template exponential_distribution [rand.dist.pois.exp]
+// 26.5.1.6 random number distribution requirements [rand.req.dist]
#include <random>
#include <testsuite_hooks.h>
+#include <testsuite_common_types.h>
void
test01()
@@ -36,8 +38,15 @@ test01()
VERIFY( u.max() == std::numeric_limits<result_type>::max() );
}
+void
+test02()
+{
+ __gnu_test::implicitly_default_constructible test;
+ test.operator()<std::exponential_distribution<>>();
+}
+
int main()
{
test01();
- return 0;
+ test02();
}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/cons/default.cc
index db3dc19dbe4..f9187fc7586 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/cons/default.cc
@@ -20,11 +20,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// 26.4.8.3.5 Class template extreme_value_distribution [rand.dist.pois.extreme]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+// C++11
+// 26.5.8.4.5 Class template extreme_value_distribution [rand.dist.pois.extreme]
+// 26.5.1.6 random number distribution requirements [rand.req.dist]
#include <random>
#include <testsuite_hooks.h>
+#include <testsuite_common_types.h>
void
test01()
@@ -37,8 +39,15 @@ test01()
VERIFY( u.max() == std::numeric_limits<result_type>::max() );
}
+void
+test02()
+{
+ __gnu_test::implicitly_default_constructible test;
+ test.operator()<std::extreme_value_distribution<>>();
+}
+
int main()
{
test01();
- return 0;
+ test02();
}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc
index 16c2077b7da..3032adea816 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc
@@ -20,11 +20,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// 26.4.8.4.5 Class template fisher_f_distribution [rand.dist.norm.f]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+// C++11
+// 26.5.8.5.5 Class template fisher_f_distribution [rand.dist.norm.f]
+// 26.5.1.6 random number distribution requirements [rand.req.dist]
#include <random>
#include <testsuite_hooks.h>
+#include <testsuite_common_types.h>
void
test01()
@@ -37,8 +39,15 @@ test01()
VERIFY( u.max() == std::numeric_limits<result_type>::max() );
}
+void
+test02()
+{
+ __gnu_test::implicitly_default_constructible test;
+ test.operator()<std::fisher_f_distribution<>>();
+}
+
int main()
{
test01();
- return 0;
+ test02();
}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/cons/default.cc
index 8274d45d669..84d2bb73502 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/cons/default.cc
@@ -20,11 +20,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// 26.4.8.3.3 Class template gamma_distribution [rand.dist.pois.gamma]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+// C++11
+// 26.5.8.4.3 Class template gamma_distribution [rand.dist.pois.gamma]
+// 26.5.1.6 random number distribution requirements [rand.req.dist]
#include <random>
#include <testsuite_hooks.h>
+#include <testsuite_common_types.h>
void
test01()
@@ -37,8 +39,15 @@ test01()
VERIFY( u.max() == std::numeric_limits<result_type>::max() );
}
+void
+test02()
+{
+ __gnu_test::implicitly_default_constructible test;
+ test.operator()<std::gamma_distribution<>>();
+}
+
int main()
{
test01();
- return 0;
+ test02();
}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/cons/default.cc
index 35221f313fe..d16a2f06db2 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/cons/default.cc
@@ -20,11 +20,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// 26.4.8.2.3 Class template geometric_distribution [rand.dist.bern.geo]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+// C++11
+// 26.5.8.3.3 Class template geometric_distribution [rand.dist.bern.geo]
+// 26.5.1.6 random number distribution requirements [rand.req.dist]
#include <random>
#include <testsuite_hooks.h>
+#include <testsuite_common_types.h>
void
test01()
@@ -36,8 +38,16 @@ test01()
VERIFY( u.max() == std::numeric_limits<result_type>::max() );
}
-int main()
+void
+test02()
+{
+ __gnu_test::implicitly_default_constructible test;
+ test.operator()<std::geometric_distribution<>>();
+}
+
+int
+main()
{
test01();
- return 0;
+ test02();
}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/cons/default.cc
index b6d57737cfa..5512905cf61 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/cons/default.cc
@@ -20,11 +20,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// 26.4.8.4.2 Class template lognormal_distribution [rand.dist.norm.lognormal]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+// C++11
+// 26.5.8.5.2 Class template lognormal_distribution [rand.dist.norm.lognormal]
+// 26.5.1.6 random number distribution requirements [rand.req.dist]
#include <random>
#include <testsuite_hooks.h>
+#include <testsuite_common_types.h>
void
test01()
@@ -37,8 +39,16 @@ test01()
VERIFY( u.max() == std::numeric_limits<result_type>::max() );
}
-int main()
+void
+test02()
+{
+ __gnu_test::implicitly_default_constructible test;
+ test.operator()<std::lognormal_distribution<>>();
+}
+
+int
+main()
{
test01();
- return 0;
+ test02();
}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/cons/default.cc
index f6e2f1d7798..32847dfe699 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/cons/default.cc
@@ -20,11 +20,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// 26.4.8.2.4 Class template negative_binomial_distribution [rand.dist.bern.negbin]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+// C++11
+// 26.5.8.3.4 Class template negative_binomial_distribution [rand.dist.bern.negbin]
+// 26.5.1.6 random number distribution requirements [rand.req.dist]
#include <random>
#include <testsuite_hooks.h>
+#include <testsuite_common_types.h>
void
test01()
@@ -37,8 +39,16 @@ test01()
VERIFY( u.max() == std::numeric_limits<result_type>::max() );
}
-int main()
+void
+test02()
+{
+ __gnu_test::implicitly_default_constructible test;
+ test.operator()<std::negative_binomial_distribution<>>();
+}
+
+int
+main()
{
test01();
- return 0;
+ test02();
}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/default.cc
index 941927ba0b4..dd3e0d21655 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/default.cc
@@ -20,11 +20,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// 26.4.8.4.1 Class template normal_distribution [rand.dist.norm.normal]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+// C++11
+// 26.5.8.5.1 Class template normal_distribution [rand.dist.norm.normal]
+// 26.5.1.6 random number distribution requirements [rand.req.dist]
#include <random>
#include <testsuite_hooks.h>
+#include <testsuite_common_types.h>
void
test01()
@@ -37,8 +39,16 @@ test01()
VERIFY( u.max() == std::numeric_limits<result_type>::max() );
}
-int main()
+void
+test02()
+{
+ __gnu_test::implicitly_default_constructible test;
+ test.operator()<std::normal_distribution<>>();
+}
+
+int
+main()
{
test01();
- return 0;
+ test02();
}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/default.cc
index 40eb9da422d..84507b45ae7 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/default.cc
@@ -20,11 +20,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// 26.4.8.5.2 Class template piecewise_constant_distribution [rand.dist.samp.pconst]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+// C++11
+// 26.5.8.6.2 Class template piecewise_constant_distribution [rand.dist.samp.pconst]
+// 26.5.1.6 random number distribution requirements [rand.req.dist]
#include <random>
#include <testsuite_hooks.h>
+#include <testsuite_common_types.h>
void
test01()
@@ -39,8 +41,16 @@ test01()
VERIFY( density[0] == 1.0 );
}
-int main()
+void
+test02()
+{
+ __gnu_test::implicitly_default_constructible test;
+ test.operator()<std::piecewise_constant_distribution<>>();
+}
+
+int
+main()
{
test01();
- return 0;
+ test02();
}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/default.cc
index 11fbc2c537e..e439adf2a3f 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/default.cc
@@ -20,11 +20,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// 26.4.8.5.3 Class template piecewise_linear_distribution [rand.dist.samp.plinear]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+// C++11
+// 26.5.8.6.3 Class template piecewise_linear_distribution [rand.dist.samp.plinear]
+// 26.5.1.6 random number distribution requirements [rand.req.dist]
#include <random>
#include <testsuite_hooks.h>
+#include <testsuite_common_types.h>
void
test01()
@@ -40,8 +42,16 @@ test01()
VERIFY( density[1] == 1.0 );
}
-int main()
+void
+test02()
+{
+ __gnu_test::implicitly_default_constructible test;
+ test.operator()<std::piecewise_linear_distribution<>>();
+}
+
+int
+main()
{
test01();
- return 0;
+ test02();
}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/cons/default.cc
index 71d0ca0f048..c357581785e 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/cons/default.cc
@@ -20,11 +20,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// 26.4.8.3.1 Class template poisson_distribution [rand.dist.pois.poisson]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+// C++11
+// 26.5.8.4.1 Class template poisson_distribution [rand.dist.pois.poisson]
+// 26.5.1.6 random number distribution requirements [rand.req.dist]
#include <random>
#include <testsuite_hooks.h>
+#include <testsuite_common_types.h>
void
test01()
@@ -36,8 +38,16 @@ test01()
VERIFY( u.max() == std::numeric_limits<result_type>::max() );
}
-int main()
+void
+test02()
+{
+ __gnu_test::implicitly_default_constructible test;
+ test.operator()<std::poisson_distribution<>>();
+}
+
+int
+main()
{
test01();
- return 0;
+ test02();
}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/cons/default.cc
index 3524a45b9ff..06c7deef094 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/cons/default.cc
@@ -20,11 +20,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// 26.4.8.4.6 Class template student_t_distribution [rand.dist.norm.t]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+// C++11
+// 26.5.8.5.6 Class template student_t_distribution [rand.dist.norm.t]
+// 26.5.1.6 random number distribution requirements [rand.req.dist]
#include <random>
#include <testsuite_hooks.h>
+#include <testsuite_common_types.h>
void
test01()
@@ -36,8 +38,16 @@ test01()
VERIFY( u.max() == std::numeric_limits<result_type>::max() );
}
-int main()
+void
+test02()
+{
+ __gnu_test::implicitly_default_constructible test;
+ test.operator()<std::student_t_distribution<>>();
+}
+
+int
+main()
{
test01();
- return 0;
+ test02();
}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/cons/default.cc
index ccfbe26f3c0..8774e660e59 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/cons/default.cc
@@ -20,12 +20,14 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// 26.4.8.1.1 Class template uniform_int_distribution [rand.dist.uni.int]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+// C++11
+// 26.5.8.2.1 Class template uniform_int_distribution [rand.dist.uni.int]
+// 26.5.1.6 random number distribution requirements [rand.req.dist]
#include <random>
#include <limits>
#include <testsuite_hooks.h>
+#include <testsuite_common_types.h>
void
test01()
@@ -37,8 +39,16 @@ test01()
VERIFY( u.max() == std::numeric_limits<int>::max() );
}
-int main()
+void
+test02()
+{
+ __gnu_test::implicitly_default_constructible test;
+ test.operator()<std::uniform_int_distribution<>>();
+}
+
+int
+main()
{
test01();
- return 0;
+ test02();
}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/cons/default.cc
index 662f8981099..6a47a4dc473 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/cons/default.cc
@@ -20,11 +20,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// 26.4.8.1.1 Class template uniform_real_distribution [rand.dist.uni.real]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+// C++11
+// 26.5.8.2.2 Class template uniform_real_distribution [rand.dist.uni.real]
+// 26.5.1.6 random number distribution requirements [rand.req.dist]
#include <random>
#include <testsuite_hooks.h>
+#include <testsuite_common_types.h>
void
test01()
@@ -36,8 +38,16 @@ test01()
VERIFY( u.max() == 1.0 );
}
-int main()
+void
+test02()
+{
+ __gnu_test::implicitly_default_constructible test;
+ test.operator()<std::uniform_real_distribution<>>();
+}
+
+int
+main()
{
test01();
- return 0;
+ test02();
}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/cons/default.cc
index 369805eaed9..96db58f2ca6 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/cons/default.cc
@@ -20,11 +20,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// 26.4.8.3.4 Class template weibull_distribution [rand.dist.pois.weibull]
-// 26.4.2.4 Concept RandomNumberDistribution [rand.concept.dist]
+// C++11
+// 26.5.8.4.4 Class template weibull_distribution [rand.dist.pois.weibull]
+// 26.5.1.6 random number distribution requirements [rand.req.dist]
#include <random>
#include <testsuite_hooks.h>
+#include <testsuite_common_types.h>
void
test01()
@@ -37,8 +39,16 @@ test01()
VERIFY( u.max() == std::numeric_limits<result_type>::max() );
}
-int main()
+void
+test02()
+{
+ __gnu_test::implicitly_default_constructible test;
+ test.operator()<std::weibull_distribution<>>();
+}
+
+int
+main()
{
test01();
- return 0;
+ test02();
}