Commit Graph

8 Commits

Author SHA1 Message Date
Edward Smith-Rowland afe03c233e Add testsuite checks for param_type in the <random> distributions.
From-SVN: r184501
2012-02-23 02:25:00 +00:00
Paolo Carlini 294eab8c10 testsuite_random.h: New.
2011-03-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_random.h: New.
	* testsuite/lib/libstdc++.exp (check_v3_target_c99_math,
	dg-require-c99_math): Add.
	* testsuite/26_numerics/random/bernoulli_distribution/
	operators/values.cc: New.
	* testsuite/26_numerics/random/binomial_distribution/
	operators/values.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/
	operators/values.cc: Likewise.

From-SVN: r171133
2011-03-18 11:48:29 +00:00
Paolo Carlini fc05e1ba76 random.h (operator==(const uniform_int_distribution<>&, const uniform_int_distribution<>&), [...]): Add, likewise for operator!=.
2010-03-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.h (operator==(const uniform_int_distribution<>&,
	const uniform_int_distribution<>&), operator==(const
	uniform_real_distribution<>&, const uniform_real_distribution<>&),
	operator==(const lognormal_distribution<>&,
	const lognormal_distribution<>&), operator==(const
	chi_squared_distribution<>&, const chi_squared_distribution<>&),
	operator==(const cauchy_distribution<>&, const cauchy_distribution<>&),
	operator==(const fisher_distribution<>&, const fisher_distribution<>&),
	operator==(const student_t_distribution<>&,
	const student_t_distribution<>&), operator==(const
	bernoulli_distribution<>&, const bernoulli_distribution<>&),
	operator==(const binomial_distribution<>&, const
	binomial_distribution<>&), operator==(const geometric_distribution<>&,
	const geometric_distribution<>&), operator==(const
	negative_binomial_distribution<>&, const
	negative_binomial_distribution<>&), operator==(const
	poisson_distribution<>&, const poisson_distribution<>&),
	operator==(const exponential_distribution<>&,
	const exponential_distribution<>&), operator==(const
	gamma_distribution<>&, const gamma_distribution<>&), operator==(const
	weibull_distribution<>&, const weibull_distribution<>&),
	operator==(const extreme_value_distribution<>&,
	const extreme_value_distribution<>&), operator==(const
	discrete_distribution<>&, const discrete_distribution<>&),
	operator==(const piecewise_constant_distribution<>&,
	const piecewise_constant_distribution<>&), operator==(const
	piecewise_linear_distribution<>&, const
	piecewise_linear_distribution<>&)): Add, likewise for operator!=.
	(operator!=(const independent_bits_engine<>&, const
	independent_bits_engine<>&), operator!=(const
	subtract_with_carry_engine<>&, const subtract_with_carry_engine<>&),
	operator!=(const discard_block_engine<>&, const
	discard_block_engine<>&), operator!=(const mersenne_twister_engine<>&,
	const mersenne_twister_engine<>&), operator!=(const
	linear_congruential_engine<>&, const linear_congruential_engine<>&),
	operator!=(const shuffle_order_engine<>&, const
	shuffle_order_engine<>&): Add.
	* include/bits/random.tcc (operator==(const normal_distribution<>&,
	const normal_distribution<>&)): Add.
	* testsuite/26_numerics/random/uniform_real_distribution/operators/
	inequal.cc: New.
	* testsuite/26_numerics/random/uniform_real_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	operators/inequal.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	operators/equal.cc: Likewise.
	* testsuite/26_numerics/random/chi_squared_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/chi_squared_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/normal_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/normal_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/uniform_int_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/uniform_int_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/poisson_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/poisson_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/bernoulli_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/bernoulli_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/discrete_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/discrete_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/weibull_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/weibull_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/cauchy_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/cauchy_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	operators/inequal.cc: Likewise.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	operators/equal.cc: Likewise.
	* testsuite/26_numerics/random/gamma_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/gamma_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/fisher_f_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/fisher_f_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/exponential_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/exponential_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/binomial_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/binomial_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/lognormal_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/lognormal_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/extreme_value_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/extreme_value_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	operators/inequal.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	operators/equal.cc: Likewise.
	* testsuite/26_numerics/random/student_t_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/student_t_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/operators/
	equal.cc: Likewise.

From-SVN: r157489
2010-03-16 16:14:00 +00:00
Edward Smith-Rowland e192376912 re PR libstdc++/41061 (Compile of program using std random fails.)
2009-08-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41061
	* include/bits/random.h (operator<<(std::basic_ostream<>&,
	const std::lognormal_distribution<>&), 
	operator>>(std::basic_istream<>&, std::lognormal_distribution<>&),
	operator<<(std::basic_ostream<>&, const std::gamma_distribution<>&),
	operator>>(std::basic_istream<>&, std::gamma_distribution<>&),
	operator<<(std::basic_ostream<>&,
	const std::chi_squared_distribution<>&),
	operator>>(std::basic_istream<>&, std::chi_squared_distribution<>&),
	operator<<(std::basic_ostream<>&,
	const std::fisher_f_distribution<>&),
	operator>>(std::basic_istream<>&, std::fisher_f_distribution<>&),
	operator<<(std::basic_ostream<>&,
	const std::student_t_distribution<>&),
	operator>>(std::basic_istream<>&, std::student_t_distribution<>&),
	operator<<(std::basic_ostream<>&,
	const std::negative_binomial_distribution<>&)): Declare friend.
	* testsuite/26_numerics/random/uniform_real_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/chi_squared_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/normal_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/uniform_int_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/poisson_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/bernoulli_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/discrete_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/weibull_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/cauchy_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/gamma_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/fisher_f_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/exponential_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/lognormal_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/binomial_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/extreme_value_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	operators/serialize.cc
	* testsuite/26_numerics/random/student_t_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/operators/
	serialize.cc: Likewise.

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

From-SVN: r150783
2009-08-14 23:33:27 +00:00
Paolo Carlini 453def3ea1 PR libstdc++/40912 (final)
2009-08-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40912 (final)
	* testsuite/26_numerics/random/mt19937.cc: dg-require-cstdint.
	* testsuite/26_numerics/random/uniform_real_distribution/cons/
	parms_neg.cc: Likewise.
	* testsuite/26_numerics/random/uniform_real_distribution/cons/
	parms.cc: Likewise.
	* testsuite/26_numerics/random/uniform_real_distribution/cons/
	default.cc: Likewise.
	* testsuite/26_numerics/random/uniform_real_distribution/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	cons/range.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	cons/default.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	cons/num_xbound_fun.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	cons/initlist_fun.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/minstd_rand.cc: Likewise.
	* testsuite/26_numerics/random/chi_squared_distribution/cons/
	parms.cc: Likewise.
	* testsuite/26_numerics/random/chi_squared_distribution/cons/
	default.cc: Likewise.
	* testsuite/26_numerics/random/chi_squared_distribution/
	requirements/typedefs.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/normal_distribution/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/seed_seq/cons/
	range.cc: Likewise.
	* testsuite/26_numerics/random/seed_seq/cons/
	initlist.cc: Likewise.
	* testsuite/26_numerics/random/seed_seq/cons/
	default.cc: Likewise.
	* testsuite/26_numerics/random/seed_seq/requirements/
	typedefs.cc: Likewise.
	* testsuite/26_numerics/random/uniform_int_distribution/
	cons/parms_neg.cc: Likewise.
	* testsuite/26_numerics/random/uniform_int_distribution/
	cons/parms.cc: Likewise.
	* testsuite/26_numerics/random/uniform_int_distribution/
	cons/default.cc: Likewise.
	* testsuite/26_numerics/random/uniform_int_distribution/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/poisson_distribution/cons/
	parms.cc: Likewise.
	* testsuite/26_numerics/random/poisson_distribution/cons/
	default.cc: Likewise.
	* testsuite/26_numerics/random/poisson_distribution/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/bernoulli_distribution/
	cons/parms.cc: Likewise.
	* testsuite/26_numerics/random/bernoulli_distribution/
	cons/default.cc: Likewise.
	* testsuite/26_numerics/random/bernoulli_distribution/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/ranlux24_base.cc: Likewise.
	* testsuite/26_numerics/random/
	default_random_engine.cc: Likewise.
	* testsuite/26_numerics/random/discrete_distribution/
	cons/range.cc: Likewise.
	* testsuite/26_numerics/random/discrete_distribution/
	cons/initlist.cc: Likewise.
	* testsuite/26_numerics/random/discrete_distribution/
	cons/default.cc: Likewise.
	* testsuite/26_numerics/random/discrete_distribution/
	cons/num_xbound_fun.cc: Likewise.
	* testsuite/26_numerics/random/discrete_distribution/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/weibull_distribution/
	cons/parms.cc: Likewise.
	* testsuite/26_numerics/random/weibull_distribution/
	cons/default.cc: Likewise.
	* testsuite/26_numerics/random/weibull_distribution/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/
	cons/base_move.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/
	cons/seed1.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/
	cons/seed2.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/
	cons/base_copy.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/
	cons/default.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/
	cons/seed_seq.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/
	operators/equal.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/ranlux48_base.cc: Likewise.
	* testsuite/26_numerics/random/minstd_rand0.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/
	cons/seed1.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/
	cons/seed2.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/
	cons/default.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/
	operators/equal.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	base_move.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	seed1.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	seed2.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	base_copy.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	default.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	seed_seq.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/
	operators/equal.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/cauchy_distribution/
	cons/parms.cc: Likewise.
	* testsuite/26_numerics/random/cauchy_distribution/
	cons/default.cc: Likewise.
	* testsuite/26_numerics/random/cauchy_distribution/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	cons/parms.cc: Likewise.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	cons/default.cc: Likewise.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/gamma_distribution/
	cons/parms.cc: Likewise.
	* testsuite/26_numerics/random/gamma_distribution/
	cons/default.cc: Likewise.
	* testsuite/26_numerics/random/gamma_distribution/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/
	cons/seed1.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/
	cons/seed2.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/
	cons/default.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/
	operators/equal.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/fisher_f_distribution/
	cons/parms.cc: Likewise.
	* testsuite/26_numerics/random/fisher_f_distribution/
	cons/default.cc: Likewise.
	* testsuite/26_numerics/random/fisher_f_distribution/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/exponential_distribution/
	cons/parms.cc: Likewise.
	* testsuite/26_numerics/random/exponential_distribution/
	cons/default.cc: Likewise.
	* testsuite/26_numerics/random/exponential_distribution/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/binomial_distribution/
	cons/parms.cc: Likewise.
	* testsuite/26_numerics/random/binomial_distribution/
	cons/default.cc: Likewise.
	* testsuite/26_numerics/random/binomial_distribution/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/lognormal_distribution/
	cons/parms.cc: Likewise.
	* testsuite/26_numerics/random/lognormal_distribution/
	cons/default.cc: Likewise.
	* testsuite/26_numerics/random/lognormal_distribution/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/mt19937_64.cc: Likewise.
	* testsuite/26_numerics/random/random_device/cons/
	token.cc: Likewise.
	* testsuite/26_numerics/random/random_device/cons/
	default.cc: Likewise.
	* testsuite/26_numerics/random/random_device/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/ranlux24.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/extreme_value_distribution/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	cons/range.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	cons/default.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	cons/num_xbound_fun.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	cons/initlist_fun.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	requirements/typedefs.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/26_numerics/random/student_t_distribution/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	cons/seed1.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	cons/seed2.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	cons/default.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	requirements/non_uint_neg.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	operators/equal.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/ranlux48.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	base_move.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	seed1.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	seed2.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	base_copy.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	default.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	seed_seq.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/
	operators/equal.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/
	cons/parms.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/
	cons/default.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/knuth_b.cc: Likewise.

From-SVN: r150361
2009-08-02 23:35:41 +00:00
Paolo Carlini 96a9203b1c PR libstdc++/39629 (final bits)
2009-04-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39629 (final bits)
	* include/bits/random.h (subtract_with_carry_engine<>::_S_modulus):
	Remove, consistently use __detail::_Shift<_UIntType, __w>::__value.
	* include/bits/random.tcc (shuffle_order_engine<>::operator()()):
	Fix formula for __j.
	* include/bits/random.tcc (operator==(const normal_distribution<>&,
	const normal_distribution<>&): Remove.
	* include/bits/random.h (operator==(const uniform_int_distribution<>&,
	const uniform_int_distribution<>&), operator==(const
	uniform_real_distribution<>&, const uniform_real_distribution<>&),
	operator==(const normal_distribution<>&, const normal_distribution<>&), 
	operator==(const lognormal_distribution<>&,
	const lognormal_distribution<>&), operator==(const
	chi_squared_distribution<>&, const chi_squared_distribution<>&),
	operator==(const cauchy_distribution<>&, const cauchy_distribution<>&),
	operator==(const fisher_distribution<>&, const fisher_distribution<>&),
	operator==(const student_t_distribution<>&,
	const student_t_distribution<>&), operator==(const
	bernoulli_distribution<>&, const bernoulli_distribution<>&),
	operator==(const binomial_distribution<>&, const
	binomial_distribution<>&), operator==(const geometric_distribution<>&,
	const geometric_distribution<>&), operator==(const
	negative_binomial_distribution<>&, const 
	negative_binomial_distribution<>&), operator==(const
	poisson_distribution<>&, const poisson_distribution<>&),
	operator==(const exponential_distribution<>&,
	const exponential_distribution<>&), operator==(const
	gamma_distribution<>&, const gamma_distribution<>&), operator==(const
	weibull_distribution<>&, const weibull_distribution<>&),
	operator==(const extreme_value_distribution<>&,
	const extreme_value_distribution<>&), operator==(const
	discrete_distribution<>&, const discrete_distribution<>&),
	operator==(const piecewise_constant_distribution<>&,
	const piecewise_constant_distribution<>&), operator==(const
	piecewise_linear_distribution<>&, const
	piecewise_linear_distribution<>&)): Remove.
	* testsuite/26_numerics/random/uniform_real_distribution/operators/
	serialize.cc: Remove.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/chi_squared_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/normal_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/uniform_int_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/poisson_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/bernoulli_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/discrete_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/weibull_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/cauchy_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/gamma_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/fisher_f_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/exponential_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/lognormal_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/binomial_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/extreme_value_distribution/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/student_t_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/operators/
	serialize.cc: Likewise.

	* include/bits/random.h (linear_congruential_engine<>::seed(_Gen&,
	true_type), linear_congruential_engine<>::seed(_Gen&, false_type),
	mersenne_twister_engine<>::seed(_Gen&,
	true_type), mersenne_twister_engine<>::seed(_Gen&, false_type),
	subtract_with_carry_engine<>::seed(_Gen&,
	true_type), subtract_with_carry_engine<>::seed(_Gen&, false_type)):
	Remove, unused.
	* include/bits/random.tcc (linear_congruential_engine<>::
	seed(_Gen&, false_type): Likewise.

From-SVN: r145867
2009-04-09 23:37:08 +00:00
Jakub Jelinek 748086b7b2 Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
From-SVN: r145841
2009-04-09 17:00:19 +02:00
Benjamin Kosnik 8e79468d01 [multiple changes]
2009-04-02  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
	Change to mersenne_twister_engine, add same defaults as
	mersenne_twister_engine/cons/default.cc.
	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Same.

	* include/bits/random.tcc (seed_seq::seed_seq): Uglify parameter
	to __il.
	* include/bits/random.h (mersenne_twister_engine): Qualify
	_ShiftMin1 with namespace __detail.
	(__detail::_ShiftMin1): Use __gnu_cxx::__numeric_traits::max until
	constexpr std::numeric_limits::max() can be used.
	(mersenne_twister_engine): Split apart static asserts into one
	assert per message. Temporarily disable the last three.

2009-04-02  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/Makefile.am: Update to N2836. Modified for new random headers.
	* include/Makefile.in: Ditto.
	* include/tr1_impl/random: Moved to tr1/random.h
	* include/tr1_impl/random.tcc: Moved to tr1
	* include/tr1/random: Just point to moved tr1 random headers.
	* include/tr1/random.tcc: Moved from tr1_impl.
	* include/tr1/random.h: Moved from tr1_impl/random.
	* include/std/random: Modified to point to std random headers.
	* include/bits/random.tcc: New implementation of std random facilities.
	* include/bits/random.h: Ditto.
	* testsuite/26_numerics/headers/random/std_c++0x_neg.cc: Changed.
	* testsuite/26_numerics/random/linear_congruential_engine/cons/
	seed1.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/cons/
	seed2.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/cons/
	default.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/requirements/
	non_uint_neg.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/operators/
	equal.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	seed1.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	seed2.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	default.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/operators/
	equal.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	seed1.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	seed2.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	default.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/operators/
	equal.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	base_move.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	seed1.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	seed2.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	base_copy.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	default.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	seed_seq.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/operators/
	equal.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	base_move.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	seed1.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	seed2.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	base_copy.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	default.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	seed_seq.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/operators/
	equal.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	base_move.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	seed1.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	seed2.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	base_copy.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	default.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	seed_seq.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/operators/
	equal.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/operators/
	serialize.cc
	* testsuite/26_numerics/random/mt19937.cc: New.
	* testsuite/26_numerics/random/mt19937_64.cc: New.
	* testsuite/26_numerics/random/minstd_rand.cc: New.
	* testsuite/26_numerics/random/minstd_rand0.cc: New.
	* testsuite/26_numerics/random/ranlux24_base.cc: New.
	* testsuite/26_numerics/random/ranlux48_base.cc: New.
	* testsuite/26_numerics/random/ranlux24.cc: New.
	* testsuite/26_numerics/random/ranlux48.cc: New.
	* testsuite/26_numerics/random/knuth_b.cc: New.
	* testsuite/26_numerics/random/default_random_engine.cc: New.
	* testsuite/26_numerics/random/chi_squared_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/chi_squared_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/chi_squared_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/chi_squared_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/normal_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/normal_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/normal_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/normal_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/seed_seq/cons/range.cc: New.
	* testsuite/26_numerics/random/seed_seq/cons/default.cc: New.
	* testsuite/26_numerics/random/seed_seq/requirements/typedefs.cc: New.
	* testsuite/26_numerics/random/uniform_int_distribution/cons/
	parms_neg.cc: New.
	* testsuite/26_numerics/random/uniform_int_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/uniform_int_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/uniform_int_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/uniform_int_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/uniform_real_distribution/cons/
	parms_neg.cc: New.
	* testsuite/26_numerics/random/uniform_real_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/uniform_real_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/uniform_real_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/uniform_real_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/poisson_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/poisson_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/poisson_distribution/requirements/
	typedefs.cc
	* testsuite/26_numerics/random/poisson_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/bernoulli_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/bernoulli_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/bernoulli_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/bernoulli_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/discrete_distribution/cons/
	range.cc: New.
	* testsuite/26_numerics/random/discrete_distribution/cons/
	initlist.cc: New.
	* testsuite/26_numerics/random/discrete_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/discrete_distribution/cons/
	num_xbound_fun.cc: New.
	* testsuite/26_numerics/random/discrete_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/discrete_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/weibull_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/weibull_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/weibull_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/weibull_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/negative_binomial_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/negative_binomial_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	requirements/typedefs.cc: New.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	operators/serialize.cc: New.
	* testsuite/26_numerics/random/cauchy_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/cauchy_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/cauchy_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/cauchy_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/gamma_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/gamma_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/gamma_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/gamma_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/fisher_f_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/fisher_f_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/fisher_f_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/fisher_f_distribution/operators/
	serialize.cc: New.

	* testsuite/26_numerics/random/exponential_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/exponential_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/exponential_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/exponential_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/lognormal_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/lognormal_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/lognormal_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/lognormal_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/binomial_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/binomial_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/binomial_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/binomial_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/random_device/cons/
	token.cc: New.
	* testsuite/26_numerics/random/random_device/cons/
	default.cc: New.
	* testsuite/26_numerics/random/random_device/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/extreme_value_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/extreme_value_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/extreme_value_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/extreme_value_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
	range.cc: New.
	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
	num_xbound_fun.cc: New.
	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
	initlist_fun.cc: New.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	requirements/typedefs.cc: New.
	* testsuite/26_numerics/random/piecewise_linear_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/student_t_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/student_t_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/student_t_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/student_t_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/geometric_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/geometric_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/geometric_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/geometric_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
	range.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
	num_xbound_fun.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
	initlist_fun.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	requirements/typedefs.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	operators/serialize.cc: New.

From-SVN: r145483
2009-04-02 23:45:56 +00:00