diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 40d569eec37..174bfeb4ee5 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,39 @@ +2013-08-07 Paolo Carlini + + PR libstdc++/58098 + * include/bits/random.h (cauchy_distribution<>::min, + extreme_value_distribution<>::min, normal_distribution<>::min, + student_t_distribution<>::min): Fix. + * include/ext/random (normal_mv_distribution<>::min): Likewise. + * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc: + Adjust. + testsuite/26_numerics/random/cauchy_distribution/cons/default.cc: + Likewise. + * testsuite/26_numerics/random/extreme_value_distribution/cons/ + parms.cc: Likewise. + testsuite/26_numerics/random/extreme_value_distribution/cons/ + default.cc: Likewise. + * testsuite/26_numerics/random/normal_distribution/cons/parms.cc: + Likewise. + * testsuite/26_numerics/random/normal_distribution/cons/default.cc: + Likewise. + * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc: + Likewise. + * testsuite/26_numerics/random/student_t_distribution/cons/default.cc: + Likewise. + * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise. + * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise. + + * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc: + Minor tweak. + * testsuite/26_numerics/random/exponential_distribution/cons/default.cc: + Likewise. + + * testsuite/ext/von_mises_distribution/*: Move to... + * testsuite/ext/random/von_mises_distribution/*: ... here. + * testsuite/ext/triangular_distribution/*: Move to... + * testsuite/ext/random/triangular_distribution/*: ... here. + 2013-08-06 Caroline Tice * fragment.am: Add XTEMPLATE_FLAGS. diff --git a/libstdc++-v3/include/bits/random.h b/libstdc++-v3/include/bits/random.h index bf7f32ff0f2..dde2dd45f9e 100644 --- a/libstdc++-v3/include/bits/random.h +++ b/libstdc++-v3/include/bits/random.h @@ -2178,7 +2178,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION */ result_type min() const - { return std::numeric_limits::min(); } + { return std::numeric_limits::lowest(); } /** * @brief Returns the least upper bound value of the distribution. @@ -3011,7 +3011,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION */ result_type min() const - { return std::numeric_limits::min(); } + { return std::numeric_limits::lowest(); } /** * @brief Returns the least upper bound value of the distribution. @@ -3428,7 +3428,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION */ result_type min() const - { return std::numeric_limits::min(); } + { return std::numeric_limits::lowest(); } /** * @brief Returns the least upper bound value of the distribution. @@ -5136,7 +5136,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION */ result_type min() const - { return std::numeric_limits::min(); } + { return std::numeric_limits::lowest(); } /** * @brief Returns the least upper bound value of the distribution. diff --git a/libstdc++-v3/include/ext/random b/libstdc++-v3/include/ext/random index 5f365e65a33..347ebed449c 100644 --- a/libstdc++-v3/include/ext/random +++ b/libstdc++-v3/include/ext/random @@ -791,7 +791,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION result_type min() const { result_type __res; - __res.fill(std::numeric_limits<_RealType>::min()); + __res.fill(std::numeric_limits<_RealType>::lowest()); return __res; } /** 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 37455cea5cb..2a3465b86d1 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 @@ -35,7 +35,7 @@ test01() VERIFY( u.a() == 0.0 ); VERIFY( u.b() == 1.0 ); typedef std::cauchy_distribution<>::result_type result_type; - VERIFY( u.min() == std::numeric_limits::min() ); + VERIFY( u.min() == std::numeric_limits::lowest() ); VERIFY( u.max() == std::numeric_limits::max() ); } diff --git a/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc index 2ac096b451f..67fb17172e5 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc @@ -35,7 +35,7 @@ test01() VERIFY( u.a() == 5.0 ); VERIFY( u.b() == 2.0 ); typedef std::cauchy_distribution<>::result_type result_type; - VERIFY( u.min() == std::numeric_limits::min() ); + VERIFY( u.min() == std::numeric_limits::lowest() ); VERIFY( u.max() == std::numeric_limits::max() ); } 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 486a1b2f2a7..f84b1307ed7 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 @@ -34,7 +34,7 @@ test01() std::exponential_distribution<> u; VERIFY( u.lambda() == 1.0 ); typedef std::exponential_distribution<>::result_type result_type; - VERIFY( u.min() == 0 ); + VERIFY( u.min() == 0.0 ); VERIFY( u.max() == std::numeric_limits::max() ); } diff --git a/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/cons/parms.cc index d1fc4dc5f13..ef2decfccd1 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/cons/parms.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/cons/parms.cc @@ -34,7 +34,7 @@ test01() std::exponential_distribution<> u(0.5); VERIFY( u.lambda() == 0.5 ); typedef std::exponential_distribution<>::result_type result_type; - VERIFY( u.min() == 0 ); + VERIFY( u.min() == 0.0 ); VERIFY( u.max() == std::numeric_limits::max() ); } 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 a8845e4d028..c14c49ce315 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 @@ -35,7 +35,7 @@ test01() VERIFY( u.a() == 0.0 ); VERIFY( u.b() == 1.0 ); typedef std::extreme_value_distribution<>::result_type result_type; - VERIFY( u.min() == std::numeric_limits::min() ); + VERIFY( u.min() == std::numeric_limits::lowest() ); VERIFY( u.max() == std::numeric_limits::max() ); } diff --git a/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/cons/parms.cc index daa20b5e384..786847f2fb0 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/cons/parms.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/cons/parms.cc @@ -35,7 +35,7 @@ test01() VERIFY( u.a() == 5.0 ); VERIFY( u.b() == 2.0 ); typedef std::extreme_value_distribution<>::result_type result_type; - VERIFY( u.min() == std::numeric_limits::min() ); + VERIFY( u.min() == std::numeric_limits::lowest() ); VERIFY( u.max() == std::numeric_limits::max() ); } 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 2ffa3305a81..8beb8bd2d2e 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 @@ -35,7 +35,7 @@ test01() VERIFY( u.mean() == 0.0 ); VERIFY( u.stddev() == 1.0 ); typedef std::normal_distribution<>::result_type result_type; - VERIFY( u.min() == std::numeric_limits::min() ); + VERIFY( u.min() == std::numeric_limits::lowest() ); VERIFY( u.max() == std::numeric_limits::max() ); } diff --git a/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/parms.cc index 0c2b79905c7..ea87162c6c6 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/parms.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/parms.cc @@ -35,7 +35,7 @@ test01() VERIFY( u.mean() == 5.0 ); VERIFY( u.stddev() == 2.0 ); typedef std::normal_distribution<>::result_type result_type; - VERIFY( u.min() == std::numeric_limits::min() ); + VERIFY( u.min() == std::numeric_limits::lowest() ); VERIFY( u.max() == std::numeric_limits::max() ); } 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 8318b37a8b5..0b5b8fa301e 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 @@ -34,7 +34,7 @@ test01() std::student_t_distribution<> u; VERIFY( u.n() == 1.0 ); typedef std::student_t_distribution<>::result_type result_type; - VERIFY( u.min() == std::numeric_limits::min() ); + VERIFY( u.min() == std::numeric_limits::lowest() ); VERIFY( u.max() == std::numeric_limits::max() ); } diff --git a/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/cons/parms.cc index fb3dc052837..1b9996212cf 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/cons/parms.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/cons/parms.cc @@ -34,7 +34,7 @@ test01() std::student_t_distribution<> u(1.5); VERIFY( u.n() == 1.5 ); typedef std::student_t_distribution<>::result_type result_type; - VERIFY( u.min() == std::numeric_limits::min() ); + VERIFY( u.min() == std::numeric_limits::lowest() ); VERIFY( u.max() == std::numeric_limits::max() ); } 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 index db3db480a70..80ad819797c 100644 --- a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/default.cc +++ b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/default.cc @@ -36,9 +36,9 @@ test01() 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::min() ); + VERIFY( u.min()[0] == std::numeric_limits::lowest() ); VERIFY( u.max()[0] == std::numeric_limits::max() ); - VERIFY( u.min()[1] == std::numeric_limits::min() ); + VERIFY( u.min()[1] == std::numeric_limits::lowest() ); VERIFY( u.max()[1] == std::numeric_limits::max() ); } 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 index b546d0793d4..3c51e7db20a 100644 --- a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/parms.cc +++ b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/parms.cc @@ -36,9 +36,9 @@ test01() 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::min() ); + VERIFY( u.min()[0] == std::numeric_limits::lowest() ); VERIFY( u.max()[0] == std::numeric_limits::max() ); - VERIFY( u.min()[1] == std::numeric_limits::min() ); + VERIFY( u.min()[1] == std::numeric_limits::lowest() ); VERIFY( u.max()[1] == std::numeric_limits::max() ); } diff --git a/libstdc++-v3/testsuite/ext/triangular_distribution/cons/default.cc b/libstdc++-v3/testsuite/ext/random/triangular_distribution/cons/default.cc similarity index 100% rename from libstdc++-v3/testsuite/ext/triangular_distribution/cons/default.cc rename to libstdc++-v3/testsuite/ext/random/triangular_distribution/cons/default.cc diff --git a/libstdc++-v3/testsuite/ext/triangular_distribution/cons/parms.cc b/libstdc++-v3/testsuite/ext/random/triangular_distribution/cons/parms.cc similarity index 100% rename from libstdc++-v3/testsuite/ext/triangular_distribution/cons/parms.cc rename to libstdc++-v3/testsuite/ext/random/triangular_distribution/cons/parms.cc diff --git a/libstdc++-v3/testsuite/ext/triangular_distribution/operators/equal.cc b/libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/equal.cc similarity index 100% rename from libstdc++-v3/testsuite/ext/triangular_distribution/operators/equal.cc rename to libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/equal.cc diff --git a/libstdc++-v3/testsuite/ext/triangular_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/inequal.cc similarity index 100% rename from libstdc++-v3/testsuite/ext/triangular_distribution/operators/inequal.cc rename to libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/inequal.cc diff --git a/libstdc++-v3/testsuite/ext/triangular_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/serialize.cc similarity index 100% rename from libstdc++-v3/testsuite/ext/triangular_distribution/operators/serialize.cc rename to libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/serialize.cc diff --git a/libstdc++-v3/testsuite/ext/triangular_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/ext/random/triangular_distribution/requirements/explicit_instantiation/1.cc similarity index 100% rename from libstdc++-v3/testsuite/ext/triangular_distribution/requirements/explicit_instantiation/1.cc rename to libstdc++-v3/testsuite/ext/random/triangular_distribution/requirements/explicit_instantiation/1.cc diff --git a/libstdc++-v3/testsuite/ext/triangular_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/ext/random/triangular_distribution/requirements/typedefs.cc similarity index 100% rename from libstdc++-v3/testsuite/ext/triangular_distribution/requirements/typedefs.cc rename to libstdc++-v3/testsuite/ext/random/triangular_distribution/requirements/typedefs.cc diff --git a/libstdc++-v3/testsuite/ext/von_mises_distribution/cons/default.cc b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/cons/default.cc similarity index 100% rename from libstdc++-v3/testsuite/ext/von_mises_distribution/cons/default.cc rename to libstdc++-v3/testsuite/ext/random/von_mises_distribution/cons/default.cc diff --git a/libstdc++-v3/testsuite/ext/von_mises_distribution/cons/parms.cc b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/cons/parms.cc similarity index 100% rename from libstdc++-v3/testsuite/ext/von_mises_distribution/cons/parms.cc rename to libstdc++-v3/testsuite/ext/random/von_mises_distribution/cons/parms.cc diff --git a/libstdc++-v3/testsuite/ext/von_mises_distribution/operators/equal.cc b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/equal.cc similarity index 100% rename from libstdc++-v3/testsuite/ext/von_mises_distribution/operators/equal.cc rename to libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/equal.cc diff --git a/libstdc++-v3/testsuite/ext/von_mises_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/inequal.cc similarity index 100% rename from libstdc++-v3/testsuite/ext/von_mises_distribution/operators/inequal.cc rename to libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/inequal.cc diff --git a/libstdc++-v3/testsuite/ext/von_mises_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/serialize.cc similarity index 100% rename from libstdc++-v3/testsuite/ext/von_mises_distribution/operators/serialize.cc rename to libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/serialize.cc diff --git a/libstdc++-v3/testsuite/ext/von_mises_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/requirements/explicit_instantiation/1.cc similarity index 100% rename from libstdc++-v3/testsuite/ext/von_mises_distribution/requirements/explicit_instantiation/1.cc rename to libstdc++-v3/testsuite/ext/random/von_mises_distribution/requirements/explicit_instantiation/1.cc diff --git a/libstdc++-v3/testsuite/ext/von_mises_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/requirements/typedefs.cc similarity index 100% rename from libstdc++-v3/testsuite/ext/von_mises_distribution/requirements/typedefs.cc rename to libstdc++-v3/testsuite/ext/random/von_mises_distribution/requirements/typedefs.cc