From 53b2288f93d54b50a0781941009f384d765f3bb6 Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Thu, 19 Feb 2015 19:30:03 +0000 Subject: [PATCH] re PR testsuite/65093 (26_numerics/random/binomial_distribution/operators/values.cc times out on slow targets) PR testsuite/65093 * testsuite/26_numerics/random/binomial_distribution/operators/values.cc (test01): Add explanatory comment. Keep only the bd1 sub-test and split out bd2, bd3, bd4, and bd5 sub-tests into... * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc, testsuite/26_numerics/random/binomial_distribution/operators/values3.cc, testsuite/26_numerics/random/binomial_distribution/operators/values4.cc, testsuite/26_numerics/random/binomial_distribution/operators/values5.cc: New separate files with the old parts. From-SVN: r220821 --- libstdc++-v3/ChangeLog | 12 +++++ .../binomial_distribution/operators/values.cc | 21 +-------- .../operators/values2.cc | 43 ++++++++++++++++++ .../operators/values3.cc | 44 ++++++++++++++++++ .../operators/values4.cc | 45 +++++++++++++++++++ .../operators/values5.cc | 44 ++++++++++++++++++ 6 files changed, 190 insertions(+), 19 deletions(-) create mode 100644 libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values2.cc create mode 100644 libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values3.cc create mode 100644 libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values4.cc create mode 100644 libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values5.cc diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 05457594796..01e22688cf9 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,15 @@ +2015-02-19 Hans-Peter Nilsson + + PR testsuite/65093 + * testsuite/26_numerics/random/binomial_distribution/operators/values.cc + (test01): Add explanatory comment. Keep only the bd1 sub-test and + split out bd2, bd3, bd4, and bd5 sub-tests into... + * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc, + testsuite/26_numerics/random/binomial_distribution/operators/values3.cc, + testsuite/26_numerics/random/binomial_distribution/operators/values4.cc, + testsuite/26_numerics/random/binomial_distribution/operators/values5.cc: + New separate files with the old parts. + 2015-02-18 Jonathan Wakely * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output diff --git a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values.cc b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values.cc index 13526cfcc50..3f831caaa40 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values.cc @@ -35,25 +35,8 @@ void test01() auto bbd1 = std::bind(bd1, eng); testDiscreteDist(bbd1, [](int n) { return binomial_pdf(n, 5, 0.3); } ); - std::binomial_distribution<> bd2(55, 0.3); - auto bbd2 = std::bind(bd2, eng); - testDiscreteDist(bbd2, [](int n) { return binomial_pdf(n, 55, 0.3); } ); - - // libstdc++/48114 - std::binomial_distribution<> bd3(10, 0.75); - auto bbd3 = std::bind(bd3, eng); - testDiscreteDist(bbd3, [](int n) { return binomial_pdf(n, 10, 0.75); } ); - - // libstdc++/57674 - std::binomial_distribution<> bd4(1, 0.8); - const std::binomial_distribution<>::param_type pm4(1, 0.3); - auto bbd4 = std::bind(bd4, eng, pm4); - testDiscreteDist(bbd4, [](int n) { return binomial_pdf(n, 1, 0.3); } ); - - std::binomial_distribution<> bd5(100, 0.3); - const std::binomial_distribution<>::param_type pm5(100, 0.8); - auto bbd5 = std::bind(bd5, eng, pm5); - testDiscreteDist(bbd5, [](int n) { return binomial_pdf(n, 100, 0.8); } ); + // These tests take a relatively long time on soft-float simulated + // targets, so please don't add new tests here, instead add a new file. } int main() diff --git a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values2.cc b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values2.cc new file mode 100644 index 00000000000..6ed5ff663ba --- /dev/null +++ b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values2.cc @@ -0,0 +1,43 @@ +// { dg-options "-std=gnu++11" } +// { dg-require-cstdint "" } +// { dg-require-cmath "" } +// +// Copyright (C) 2011-2015 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 +// . + +// 26.5.8.2.2 Class template binomial_distribution [rand.dist.bern.bin] + +#include +#include +#include + +void test01() +{ + using namespace __gnu_test; + + std::mt19937 eng; + + std::binomial_distribution<> bd2(55, 0.3); + auto bbd2 = std::bind(bd2, eng); + testDiscreteDist(bbd2, [](int n) { return binomial_pdf(n, 55, 0.3); } ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values3.cc b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values3.cc new file mode 100644 index 00000000000..a480cbdc451 --- /dev/null +++ b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values3.cc @@ -0,0 +1,44 @@ +// { dg-options "-std=gnu++11" } +// { dg-require-cstdint "" } +// { dg-require-cmath "" } +// +// Copyright (C) 2011-2015 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 +// . + +// 26.5.8.2.2 Class template binomial_distribution [rand.dist.bern.bin] + +#include +#include +#include + +void test01() +{ + using namespace __gnu_test; + + std::mt19937 eng; + + // libstdc++/48114 + std::binomial_distribution<> bd3(10, 0.75); + auto bbd3 = std::bind(bd3, eng); + testDiscreteDist(bbd3, [](int n) { return binomial_pdf(n, 10, 0.75); } ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values4.cc b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values4.cc new file mode 100644 index 00000000000..e63465df2e2 --- /dev/null +++ b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values4.cc @@ -0,0 +1,45 @@ +// { dg-options "-std=gnu++11" } +// { dg-require-cstdint "" } +// { dg-require-cmath "" } +// +// Copyright (C) 2011-2015 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 +// . + +// 26.5.8.2.2 Class template binomial_distribution [rand.dist.bern.bin] + +#include +#include +#include + +void test01() +{ + using namespace __gnu_test; + + std::mt19937 eng; + + // libstdc++/57674 + std::binomial_distribution<> bd4(1, 0.8); + const std::binomial_distribution<>::param_type pm4(1, 0.3); + auto bbd4 = std::bind(bd4, eng, pm4); + testDiscreteDist(bbd4, [](int n) { return binomial_pdf(n, 1, 0.3); } ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values5.cc b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values5.cc new file mode 100644 index 00000000000..34fc3db874a --- /dev/null +++ b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values5.cc @@ -0,0 +1,44 @@ +// { dg-options "-std=gnu++11" } +// { dg-require-cstdint "" } +// { dg-require-cmath "" } +// +// Copyright (C) 2011-2015 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 +// . + +// 26.5.8.2.2 Class template binomial_distribution [rand.dist.bern.bin] + +#include +#include +#include + +void test01() +{ + using namespace __gnu_test; + + std::mt19937 eng; + + std::binomial_distribution<> bd5(100, 0.3); + const std::binomial_distribution<>::param_type pm5(100, 0.8); + auto bbd5 = std::bind(bd5, eng, pm5); + testDiscreteDist(bbd5, [](int n) { return binomial_pdf(n, 100, 0.8); } ); +} + +int main() +{ + test01(); + return 0; +} -- 2.30.2