re PR libstdc++/54376 (incorrect complaint about redefinition)

2012-08-26  Marc Glisse  <marc.glisse@inria.fr>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/54376
	* include/bits/random.h (lognormal_distribution<>::operator==,
	gamma_distribution<>::operator==,
	chi_squared_distribution<>::operator==,
	fisher_f_distribution<>::operator==,
	student_t_distribution<>::operator==,
	binomial_distribution<>::operator==,
	negative_binomial_distribution<>::operator==,
	poisson_distribution<>::operator==): Change inline friend definition
	to non-template.
	* testsuite/26_numerics/random/binomial_distribution/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/26_numerics/random/cauchy_distribution/requirements/
	explicit_instantiation/1.cc: Likewise.
	* testsuite/26_numerics/random/chi_squared_distribution/
	requirements/explicit_instantiation/1.cc: Likewise.
	* testsuite/26_numerics/random/discrete_distribution/requirements/
	explicit_instantiation/1.cc: Likewise.
	* testsuite/26_numerics/random/exponential_distribution/
	requirements/explicit_instantiation/1.cc: Likewise.
	* testsuite/26_numerics/random/extreme_value_distribution/
	requirements/explicit_instantiation/1.cc: Likewise.
	* testsuite/26_numerics/random/fisher_f_distribution/requirements/
	explicit_instantiation/1.cc: Likewise.
	* testsuite/26_numerics/random/gamma_distribution/requirements/
	explicit_instantiation/1.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/requirements/
	explicit_instantiation/1.cc: Likewise.
	* testsuite/26_numerics/random/lognormal_distribution/requirements/
	explicit_instantiation/1.cc: Likewise.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	requirements/explicit_instantiation/1.cc: Likewise.
	* testsuite/26_numerics/random/normal_distribution/requirements/
	explicit_instantiation/1.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	requirements/explicit_instantiation/1.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	requirements/explicit_instantiation/1.cc: Likewise.
	* testsuite/26_numerics/random/poisson_distribution/requirements/
	explicit_instantiation/1.cc: Likewise.
	* testsuite/26_numerics/random/student_t_distribution/requirements/
	explicit_instantiation/1.cc: Likewise.
	* testsuite/26_numerics/random/uniform_int_distribution/
	requirements/explicit_instantiation/1.cc: Likewise.
	* testsuite/26_numerics/random/uniform_real_distribution/
	requirements/explicit_instantiation/1.cc: Likewise.
	* testsuite/26_numerics/random/weibull_distribution/requirements/
	explicit_instantiation/1.cc: Likewise.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r190694
This commit is contained in:
Marc Glisse 2012-08-26 19:22:43 +02:00 committed by Paolo Carlini
parent e537ef59d9
commit a30e18c147
21 changed files with 589 additions and 45 deletions

View File

@ -1,3 +1,55 @@
2012-08-26 Marc Glisse <marc.glisse@inria.fr>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/54376
* include/bits/random.h (lognormal_distribution<>::operator==,
gamma_distribution<>::operator==,
chi_squared_distribution<>::operator==,
fisher_f_distribution<>::operator==,
student_t_distribution<>::operator==,
binomial_distribution<>::operator==,
negative_binomial_distribution<>::operator==,
poisson_distribution<>::operator==): Change inline friend definition
to non-template.
* testsuite/26_numerics/random/binomial_distribution/requirements/
explicit_instantiation/1.cc: New.
* testsuite/26_numerics/random/cauchy_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/chi_squared_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/discrete_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/exponential_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/extreme_value_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/fisher_f_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/gamma_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/geometric_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/lognormal_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/negative_binomial_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/normal_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/piecewise_constant_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/piecewise_linear_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/poisson_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/student_t_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/uniform_int_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/uniform_real_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/weibull_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
2012-08-26 Jonathan Wakely <jwakely.gcc@gmail.com> 2012-08-26 Jonathan Wakely <jwakely.gcc@gmail.com>
* testsuite/30_threads/async/54297.cc: Add dg-require-nanosleep. * testsuite/30_threads/async/54297.cc: Add dg-require-nanosleep.

View File

@ -2332,10 +2332,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* the same parameters and the sequences that would * the same parameters and the sequences that would
* be generated are equal. * be generated are equal.
*/ */
template<typename _RealType1>
friend bool friend bool
operator==(const std::lognormal_distribution<_RealType1>& __d1, operator==(const lognormal_distribution& __d1,
const std::lognormal_distribution<_RealType1>& __d2) const lognormal_distribution& __d2)
{ return (__d1.param() == __d2.param() { return (__d1.param() == __d2.param()
&& __d1._M_nd == __d2._M_nd); } && __d1._M_nd == __d2._M_nd); }
@ -2525,10 +2524,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* parameters and the sequences that would be generated * parameters and the sequences that would be generated
* are equal. * are equal.
*/ */
template<typename _RealType1>
friend bool friend bool
operator==(const std::gamma_distribution<_RealType1>& __d1, operator==(const gamma_distribution& __d1,
const std::gamma_distribution<_RealType1>& __d2) const gamma_distribution& __d2)
{ return (__d1.param() == __d2.param() { return (__d1.param() == __d2.param()
&& __d1._M_nd == __d2._M_nd); } && __d1._M_nd == __d2._M_nd); }
@ -2690,10 +2688,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* the same parameters and the sequences that would be * the same parameters and the sequences that would be
* generated are equal. * generated are equal.
*/ */
template<typename _RealType1>
friend bool friend bool
operator==(const std::chi_squared_distribution<_RealType1>& __d1, operator==(const chi_squared_distribution& __d1,
const std::chi_squared_distribution<_RealType1>& __d2) const chi_squared_distribution& __d2)
{ return __d1.param() == __d2.param() && __d1._M_gd == __d2._M_gd; } { return __d1.param() == __d2.param() && __d1._M_gd == __d2._M_gd; }
/** /**
@ -3043,10 +3040,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* the same parameters and the sequences that would * the same parameters and the sequences that would
* be generated are equal. * be generated are equal.
*/ */
template<typename _RealType1>
friend bool friend bool
operator==(const std::fisher_f_distribution<_RealType1>& __d1, operator==(const fisher_f_distribution& __d1,
const std::fisher_f_distribution<_RealType1>& __d2) const fisher_f_distribution& __d2)
{ return (__d1.param() == __d2.param() { return (__d1.param() == __d2.param()
&& __d1._M_gd_x == __d2._M_gd_x && __d1._M_gd_x == __d2._M_gd_x
&& __d1._M_gd_y == __d2._M_gd_y); } && __d1._M_gd_y == __d2._M_gd_y); }
@ -3217,10 +3213,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* the same parameters and the sequences that would * the same parameters and the sequences that would
* be generated are equal. * be generated are equal.
*/ */
template<typename _RealType1>
friend bool friend bool
operator==(const std::student_t_distribution<_RealType1>& __d1, operator==(const student_t_distribution& __d1,
const std::student_t_distribution<_RealType1>& __d2) const student_t_distribution& __d2)
{ return (__d1.param() == __d2.param() { return (__d1.param() == __d2.param()
&& __d1._M_nd == __d2._M_nd && __d1._M_gd == __d2._M_gd); } && __d1._M_nd == __d2._M_nd && __d1._M_gd == __d2._M_gd); }
@ -3593,10 +3588,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* the same parameters and the sequences that would * the same parameters and the sequences that would
* be generated are equal. * be generated are equal.
*/ */
template<typename _IntType1>
friend bool friend bool
operator==(const std::binomial_distribution<_IntType1>& __d1, operator==(const binomial_distribution& __d1,
const std::binomial_distribution<_IntType1>& __d2) const binomial_distribution& __d2)
#ifdef _GLIBCXX_USE_C99_MATH_TR1 #ifdef _GLIBCXX_USE_C99_MATH_TR1
{ return __d1.param() == __d2.param() && __d1._M_nd == __d2._M_nd; } { return __d1.param() == __d2.param() && __d1._M_nd == __d2._M_nd; }
#else #else
@ -3950,10 +3944,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* the same parameters and the sequences that would be * the same parameters and the sequences that would be
* generated are equal. * generated are equal.
*/ */
template<typename _IntType1>
friend bool friend bool
operator==(const std::negative_binomial_distribution<_IntType1>& __d1, operator==(const negative_binomial_distribution& __d1,
const std::negative_binomial_distribution<_IntType1>& __d2) const negative_binomial_distribution& __d2)
{ return __d1.param() == __d2.param() && __d1._M_gd == __d2._M_gd; } { return __d1.param() == __d2.param() && __d1._M_gd == __d2._M_gd; }
/** /**
@ -4134,10 +4127,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* parameters and the sequences that would be generated * parameters and the sequences that would be generated
* are equal. * are equal.
*/ */
template<typename _IntType1>
friend bool friend bool
operator==(const std::poisson_distribution<_IntType1>& __d1, operator==(const poisson_distribution& __d1,
const std::poisson_distribution<_IntType1>& __d2) const poisson_distribution& __d2)
#ifdef _GLIBCXX_USE_C99_MATH_TR1 #ifdef _GLIBCXX_USE_C99_MATH_TR1
{ return __d1.param() == __d2.param() && __d1._M_nd == __d2._M_nd; } { return __d1.param() == __d2.param() && __d1._M_nd == __d2._M_nd; }
#else #else

View File

@ -0,0 +1,27 @@
// { 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 <random>
template class std::binomial_distribution<int>;
template class std::binomial_distribution<long>;
template class std::binomial_distribution<unsigned int>;
template class std::binomial_distribution<unsigned long>;

View File

@ -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 <random>
template class std::cauchy_distribution<float>;
template class std::cauchy_distribution<double>;
template class std::cauchy_distribution<long double>;

View File

@ -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 <random>
template class std::chi_squared_distribution<float>;
template class std::chi_squared_distribution<double>;
template class std::chi_squared_distribution<long double>;

View File

@ -0,0 +1,27 @@
// { 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 <random>
template class std::discrete_distribution<int>;
template class std::discrete_distribution<long>;
template class std::discrete_distribution<unsigned int>;
template class std::discrete_distribution<unsigned long>;

View File

@ -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 <random>
template class std::exponential_distribution<float>;
template class std::exponential_distribution<double>;
template class std::exponential_distribution<long double>;

View File

@ -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 <random>
template class std::extreme_value_distribution<float>;
template class std::extreme_value_distribution<double>;
template class std::extreme_value_distribution<long double>;

View File

@ -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 <random>
template class std::fisher_f_distribution<float>;
template class std::fisher_f_distribution<double>;
template class std::fisher_f_distribution<long double>;

View File

@ -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 <random>
template class std::gamma_distribution<float>;
template class std::gamma_distribution<double>;
template class std::gamma_distribution<long double>;

View File

@ -0,0 +1,27 @@
// { 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 <random>
template class std::geometric_distribution<int>;
template class std::geometric_distribution<long>;
template class std::geometric_distribution<unsigned int>;
template class std::geometric_distribution<unsigned long>;

View File

@ -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 <random>
template class std::lognormal_distribution<float>;
template class std::lognormal_distribution<double>;
template class std::lognormal_distribution<long double>;

View File

@ -0,0 +1,27 @@
// { 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 <random>
template class std::negative_binomial_distribution<int>;
template class std::negative_binomial_distribution<long>;
template class std::negative_binomial_distribution<unsigned int>;
template class std::negative_binomial_distribution<unsigned long>;

View File

@ -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 <random>
template class std::normal_distribution<float>;
template class std::normal_distribution<double>;
template class std::normal_distribution<long double>;

View File

@ -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 <random>
template class std::piecewise_constant_distribution<float>;
template class std::piecewise_constant_distribution<double>;
template class std::piecewise_constant_distribution<long double>;

View File

@ -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 <random>
template class std::piecewise_linear_distribution<float>;
template class std::piecewise_linear_distribution<double>;
template class std::piecewise_linear_distribution<long double>;

View File

@ -0,0 +1,27 @@
// { 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 <random>
template class std::poisson_distribution<int>;
template class std::poisson_distribution<long>;
template class std::poisson_distribution<unsigned int>;
template class std::poisson_distribution<unsigned long>;

View File

@ -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 <random>
template class std::student_t_distribution<float>;
template class std::student_t_distribution<double>;
template class std::student_t_distribution<long double>;

View File

@ -0,0 +1,27 @@
// { 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 <random>
template class std::uniform_int_distribution<int>;
template class std::uniform_int_distribution<long>;
template class std::uniform_int_distribution<unsigned int>;
template class std::uniform_int_distribution<unsigned long>;

View File

@ -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 <random>
template class std::uniform_real_distribution<float>;
template class std::uniform_real_distribution<double>;
template class std::uniform_real_distribution<long double>;

View File

@ -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 <random>
template class std::weibull_distribution<float>;
template class std::weibull_distribution<double>;
template class std::weibull_distribution<long double>;