a554497024 
								
							 
						 
						
							
							
								
								Update copyright years.  
							
							... 
							
							
							
							From-SVN: r267494 
							
						 
						
							2019-01-01 13:31:55 +01:00  
				
					
						
							
							
								 
						
							
								5a7960da41 
								
							 
						 
						
							
							
								
								PR libstdc++/85749 constrain seed sequences for random number engines  
							
							... 
							
							
							
							Constrain constructors and member functions of random number engines so
that functions taking seed sequences can only be called with types that
meet the seed sequence requirements.
	PR libstdc++/85749
	* include/bits/random.h (__detail::__is_seed_seq): New SFINAE helper.
	(linear_congruential_engine, mersenne_twister_engine)
	(subtract_with_carry_engine, discard_block_engine)
	(independent_bits_engine, shuffle_order_engine): Use __is_seed_seq to
	constrain function templates taking seed sequences.
	* include/bits/random.tcc (linear_congruential_engine::seed(_Sseq&))
	(mersenne_twister_engine::seed(_Sseq&))
	(subtract_with_carry_engine::seed(_Sseq&)): Change return types to
	match declarations.
	* include/ext/random (simd_fast_mersenne_twister_engine): Use
	__is_seed_seq to constrain function templates taking seed sequences.
	* include/ext/random.tcc (simd_fast_mersenne_twister_engine::seed):
	Change return type to match declaration.
	* testsuite/26_numerics/random/discard_block_engine/cons/seed_seq2.cc:
	New.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	seed_seq2.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/cons/
	seed_seq2.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	seed_seq2.cc: New.
	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lineno.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq2.cc:
	New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	seed_seq2.cc: New.
	* testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
	seed_seq2.cc: New.
From-SVN: r260263 
							
						 
						
							2018-05-15 16:36:46 +01:00  
				
					
						
							
							
								 
						
							
								6fa8c51f72 
								
							 
						 
						
							
							
								
								Moar PR libstdc++/80506  
							
							... 
							
							
							
							2018-05-07  Edward Smith-Rowland  <3dw4rd@verizon.net>
	Moar PR libstdc++/80506
	* include/bits/random.tcc (gamma_distribution::__generate_impl()):
	Fix magic number used in loop condition.
Actually put the file in.
Don't know what my problem is today...
From-SVN: r260008 
							
						 
						
							2018-05-07 16:59:08 +00:00  
				
					
						
							
							
								 
						
							
								eda0ab6ec6 
								
							 
						 
						
							
							
								
								Rollback bad commits!  Sorry!  
							
							... 
							
							
							
							From-SVN: r260003 
							
						 
						
							2018-05-07 16:13:48 +00:00  
				
					
						
							
							
								 
						
							
								b118dfdb6d 
								
							 
						 
						
							
							
								
								Revert 20001.  
							
							... 
							
							
							
							From-SVN: r260002 
							
						 
						
							2018-05-07 16:02:46 +00:00  
				
					
						
							
							
								 
						
							
								85ec4feb11 
								
							 
						 
						
							
							
								
								Update copyright years.  
							
							... 
							
							
							
							From-SVN: r256169 
							
						 
						
							2018-01-03 11:03:58 +01:00  
				
					
						
							
							
								 
						
							
								73986c315b 
								
							 
						 
						
							
							
								
								re PR libstdc++/83237 (Values returned by std::poisson_distribution are not distributed correctly)  
							
							... 
							
							
							
							2017-12-24  Michele Pezzutti <mpezz@tiscali.it>
	PR libstdc++/83237
	* include/bits/random.tcc (poisson_distribution<>::operator()):
	Fix __x = 1 case - see updated Errata of Devroye's treatise.
	* testsuite/26_numerics/random/poisson_distribution/operators/
	values.cc: Add test.
	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
	line number.
From-SVN: r255993 
							
						 
						
							2017-12-24 22:08:52 +00:00  
				
					
						
							
							
								 
						
							
								4a15d84228 
								
							 
						 
						
							
							
								
								re PR libstdc++/81064 (Inline namespace regression)  
							
							... 
							
							
							
							2017-07-23  François Dumont  <fdumont@gcc.gnu.org>
	PR libstdc++/81064
	* include/bits/algorithmfwd.h: Reorganize versioned namespace.
	* include/bits/basic_string.h: Likewise.
	* include/bits/c++config: Likewise.
	* include/bits/deque.tcc: Likewise.
	* include/bits/forward_list.h: Likewise.
	* include/bits/forward_list.tcc: Likewise.
	* include/bits/hashtable_policy.h: Likewise.
	* include/bits/list.tcc: Likewise.
	* include/bits/move.h: Likewise.
	* include/bits/quoted_string.h: Likewise.
	* include/bits/random.h: Likewise.
	* include/bits/random.tcc: Likewise.
	* include/bits/regex.h: Likewise.
	* include/bits/regex.tcc: Likewise.
	* include/bits/regex_automaton.h: Likewise.
	* include/bits/regex_automaton.tcc: Likewise.
	* include/bits/regex_compiler.h: Likewise.
	* include/bits/regex_compiler.tcc: Likewise.
	* include/bits/regex_constants.h: Likewise.
	* include/bits/regex_error.h: Likewise.
	* include/bits/regex_executor.h: Likewise.
	* include/bits/regex_executor.tcc: Likewise.
	* include/bits/regex_scanner.h: Likewise.
	* include/bits/regex_scanner.tcc: Likewise.
	* include/bits/specfun.h: Likewise.
	* include/bits/stl_algo.h: Likewise.
	* include/bits/stl_algobase.h: Likewise.
	* include/bits/stl_bvector.h: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_iterator.h: Likewise.
	* include/bits/stl_iterator_base_funcs.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_map.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_relops.h: Likewise.
	* include/bits/stl_set.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/uniform_int_dist.h: Likewise.
	* include/bits/unordered_map.h: Likewise.
	* include/bits/unordered_set.h: Likewise.
	* include/bits/vector.tcc: Likewise.
	* include/c_global/cmath: Likewise.
	* include/c_std/cmath: Likewise.
	* include/decimal/decimal: Likewise.
	* include/decimal/decimal.h: Likewise.
	* include/experimental/algorithm: Likewise.
	* include/experimental/any: Likewise.
	* include/experimental/array: Likewise.
	* include/experimental/bits/erase_if.h: Likewise.
	* include/experimental/bits/fs_dir.h: Likewise.
	* include/experimental/bits/fs_fwd.h: Likewise.
	* include/experimental/bits/fs_ops.h: Likewise.
	* include/experimental/bits/fs_path.h: Likewise.
	* include/experimental/bits/lfts_config.h: Likewise.
	* include/experimental/bits/shared_ptr.h: Likewise.
	* include/experimental/bits/string_view.tcc: Likewise.
	* include/experimental/chrono: Likewise.
	* include/experimental/deque: Likewise.
	* include/experimental/filesystem: Likewise.
	* include/experimental/forward_list: Likewise.
	* include/experimental/functional: Likewise.
	* include/experimental/iterator: Likewise.
	* include/experimental/list: Likewise.
	* include/experimental/map: Likewise.
	* include/experimental/memory: Likewise.
	* include/experimental/memory_resource: Likewise.
	* include/experimental/numeric: Likewise.
	* include/experimental/optional: Likewise.
	* include/experimental/propagate_const: Likewise.
	* include/experimental/random: Likewise.
	* include/experimental/ratio: Likewise.
	* include/experimental/regex: Likewise.
	* include/experimental/set: Likewise.
	* include/experimental/source_location: Likewise.
	* include/experimental/string: Likewise.
	* include/experimental/string_view: Likewise.
	* include/experimental/system_error: Likewise.
	* include/experimental/tuple: Likewise.
	* include/experimental/type_traits: Likewise.
	* include/experimental/unordered_map: Likewise.
	* include/experimental/unordered_set: Likewise.
	* include/experimental/utility: Likewise.
	* include/experimental/vector: Likewise.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/codecvt_specializations.h: Likewise.
	* include/ext/rope: Likewise.
	* include/ext/typelist.h: Likewise.
	* include/std/chrono: Likewise.
	* include/std/complex: Likewise.
	* include/std/functional: Likewise.
	* include/std/numeric: Likewise.
	* include/std/string_view: Likewise.
	* include/std/thread: Likewise.
	* include/std/variant: Likewise.
	* include/tr1/array: Likewise.
	* include/tr1/bessel_function.tcc: Likewise.
	* include/tr1/beta_function.tcc: Likewise.
	* include/tr1/cmath: Likewise.
	* include/tr1/complex: Likewise.
	* include/tr1/ell_integral.tcc: Likewise.
	* include/tr1/exp_integral.tcc: Likewise.
	* include/tr1/functional: Likewise.
	* include/tr1/functional_hash.h: Likewise.
	* include/tr1/gamma.tcc: Likewise.
	* include/tr1/hashtable.h: Likewise.
	* include/tr1/hashtable_policy.h: Likewise.
	* include/tr1/hypergeometric.tcc: Likewise.
	* include/tr1/legendre_function.tcc: Likewise.
	* include/tr1/modified_bessel_func.tcc: Likewise.
	* include/tr1/poly_hermite.tcc: Likewise.
	* include/tr1/poly_laguerre.tcc: Likewise.
	* include/tr1/random.h: Likewise.
	* include/tr1/random.tcc: Likewise.
	* include/tr1/regex: Likewise.
	* include/tr1/riemann_zeta.tcc: Likewise.
	* include/tr1/shared_ptr.h: Likewise.
	* include/tr1/special_function_util.h: Likewise.
	* include/tr1/tuple: Likewise.
	* include/tr1/type_traits: Likewise.
	* include/tr1/unordered_map.h: Likewise.
	* include/tr1/unordered_set.h: Likewise.
	* include/tr1/utility: Likewise.
	* include/tr2/bool_set: Likewise.
	* include/tr2/bool_set.tcc: Likewise.
	* include/tr2/dynamic_bitset: Likewise.
	* include/tr2/dynamic_bitset.tcc: Likewise.
	* include/tr2/ratio: Likewise.
	* include/tr2/type_traits: Likewise.
	* src/c++11/chrono.cc: Likewise.
	* src/c++11/compatibility-c++0x.cc: Likewise.
	* src/c++11/compatibility-chrono.cc: Likewise.
	* src/c++11/cxx11-shim_facets.cc: Likewise.
	* src/c++11/hashtable_c++0x.cc: Likewise.
	* src/c++11/placeholders.cc: Likewise.
	* src/c++11/thread.cc: Likewise.
	* src/c++98/bitmap_allocator.cc: Likewise.
	* src/c++98/hashtable_tr1.cc: Likewise.
	* src/c++98/list.cc: Likewise.
	* src/shared/hashtable-aux.cc: Likewise.
	* testsuite/20_util/duration/literals/range.cc: Adapt line number.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
	* testsuite/20_util/forward/c_neg.cc: Likewise.
	* testsuite/20_util/forward/f_neg.cc: Likewise.
	* testsuite/26_numerics/gcd/gcd_neg.cc: Likewise.
	* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
	* testsuite/26_numerics/random/pr60037-neg.cc: Likewise.
	* python/libstdcxx/v6/printers.py: Adapt.
From-SVN: r250458 
							
						 
						
							2017-07-23 08:41:35 +00:00  
				
					
						
							
							
								 
						
							
								957221f551 
								
							 
						 
						
							
							
								
								PR libstdc++/80506 fix constant used in condition  
							
							... 
							
							
							
							PR libstdc++/80506
	* include/bits/random.tcc (gamma_distribution::operator()): Fix magic
	number used in loop condition.
From-SVN: r247099 
							
						 
						
							2017-04-24 14:43:19 +01:00  
				
					
						
							
							
								 
						
							
								92d85953a5 
								
							 
						 
						
							
							
								
								PR libstdc++/80137 use std::nextafter instead of looping  
							
							... 
							
							
							
							PR libstdc++/80137
	* include/bits/random.tcc (generate_canonical): Use std::nextafter
	or numeric_limits::epsilon() to reduce out-of-range values.
	* testsuite/26_numerics/random/uniform_real_distribution/operators/
	64351.cc: Verify complexity requirement is met.
From-SVN: r246542 
							
						 
						
							2017-03-28 17:09:49 +01:00  
				
					
						
							
							
								 
						
							
								cbe34bb5ed 
								
							 
						 
						
							
							
								
								Update copyright years.  
							
							... 
							
							
							
							From-SVN: r243994 
							
						 
						
							2017-01-01 13:07:43 +01:00  
				
					
						
							
							
								 
						
							
								0cded43df4 
								
							 
						 
						
							
							
								
								PR libstdc++/41759 reword static assertions in <random>  
							
							... 
							
							
							
							PR libstdc++/41759
	* include/bits/random.h: Reword static assertion messages to state
	positive conditions.
	* include/bits/random.tcc: Likewise.
	* include/bits/uniform_int_dist.h: Likewise.
	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
	patterns.
From-SVN: r235160 
							
						 
						
							2016-04-18 19:03:50 +01:00  
				
					
						
							
							
								 
						
							
								2944621e2c 
								
							 
						 
						
							
							
								
								Avoid including all of <random> in <algorithm>  
							
							... 
							
							
							
							PR libstdc++/69464
	* include/Makefile.am: Add new header.
	* include/Makefile.in: Regenerate.
	* include/bits/random.h (uniform_int_distribution): Move to
	bits/uniform_int_dist.h.
	* include/bits/random.tcc (uniform_int_distribution::operator(),
	uniform_int_distribution::__generate_impl): Likewise.
	* include/bits/uniform_int_dist.h: New header.
	* include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
	<bits/uniform_int_dist.h> instead of <random>.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy/
	move_iterators/1.cc: Include correct header for uninitialized_copy.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
	move_iterators/1.cc: Likewise.
	* testsuite/25_algorithms/nth_element/58800.cc: Include correct
	header for vector.
	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
From-SVN: r232798 
							
						 
						
							2016-01-25 16:44:30 +00:00  
				
					
						
							
							
								 
						
							
								818ab71a41 
								
							 
						 
						
							
							
								
								Update copyright years.  
							
							... 
							
							
							
							From-SVN: r232055 
							
						 
						
							2016-01-04 15:30:50 +01:00  
				
					
						
							
							
								 
						
							
								33df19a736 
								
							 
						 
						
							
							
								
								Ensure std::generate_canonical doesn't return 1.  
							
							... 
							
							
							
							2015-08-26  Edward Smith-Rowland  <3dw4rd@verizon.net>
	    Jonathan Wakely  <jwakely@redhat.com>
	PR libstdc++/64351
	PR libstdc++/63176
	* include/bits/random.tcc (generate_canonical): Loop until we get a
	result less than one.
	* testsuite/26_numerics/random/uniform_real_distribution/operators/
	64351.cc: New.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r227233 
							
						 
						
							2015-08-26 22:27:09 +01:00  
				
					
						
							
							
								 
						
							
								3af7efb7d9 
								
							 
						 
						
							
							
								
								re PR libstdc++/67309 (Error compiling with -std=c++11 and -fsingle-precision-constant)  
							
							... 
							
							
							
							PR libstdc++/67309
	* include/bits/random.tcc
	(poisson_distribution::param_type::_M_initialize): Use max<double>.
	(binomial_distribution::param_type::_M_initialize): Likewise.
	* testsuite/17_intro/headers/c++200x/67309.cc: New.
	* testsuite/17_intro/headers/c++200x/all_attributes.cc: Remove
	redundant header.
From-SVN: r227126 
							
						 
						
							2015-08-24 14:43:36 +01:00  
				
					
						
							
							
								 
						
							
								5624e564d2 
								
							 
						 
						
							
							
								
								Update copyright years.  
							
							... 
							
							
							
							From-SVN: r219188 
							
						 
						
							2015-01-05 13:33:28 +01:00  
				
					
						
							
							
								 
						
							
								1c4ff014fe 
								
							 
						 
						
							
							
								
								PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>  
							
							... 
							
							
							
							2014-07-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
	PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
	* include/bits/random.h (_Adaptor): static_assert for non floating-point
	result type.
	* include/bits/random.tcc (generate_canonical): Ditto.
	* include/ext/random.tcc (hypergeometric_distribution::operator()):
	Use double as a rng result type.
	* testsuite/26_numerics/random/pr60037-neg.cc: New.
	* testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
From-SVN: r213207 
							
						 
						
							2014-07-29 14:56:45 +00:00  
				
					
						
							
							
								 
						
							
								aa118a03c4 
								
							 
						 
						
							
							
								
								Update copyright years in libstdc++-v3/  
							
							... 
							
							
							
							From-SVN: r206301 
							
						 
						
							2014-01-02 22:30:10 +00:00  
				
					
						
							
							
								 
						
							
								e5fbc9fc72 
								
							 
						 
						
							
							
								
								re PR libstdc++/58302 (compilation error : std::negative_binomial_distribution::operator(e, p))  
							
							... 
							
							
							
							2013-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
	PR libstdc++/58302
	* include/bits/random.tcc (negative_binomial_distribution<>::
	operator()(_UniformRandomNumberGenerator&, const param_type&):
	Fix typo in template argument.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	operators/58302.cc: New.
From-SVN: r202208 
							
						 
						
							2013-09-03 10:12:19 +00:00  
				
					
						
							
							
								 
						
							
								07bba3b144 
								
							 
						 
						
							
							
								
								re PR libstdc++/57674 (wrong distribution for  std::binomial_distribution::operator()(g,param))  
							
							... 
							
							
							
							2013-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
	PR libstdc++/57674
	* include/bits/random.h (binomial_distribution<>::_M_waiting):
	Add double parameter.
	* include/bits/random.tcc (binomial_distribution<>::operator()
	(_UniformRandomNumberGenerator&, const param_type&)): Pass
	__param._M_q to _M_waiting.
	(_M_waiting): Adjust.
	* testsuite/26_numerics/random/binomial_distribution/
	operators/values.cc: Add tests.
From-SVN: r200341 
							
						 
						
							2013-06-22 21:07:02 +00:00  
				
					
						
							
							
								 
						
							
								60f3a59f29 
								
							 
						 
						
							
							
								
								random.tcc (__transform): Remove.  
							
							... 
							
							
							
							2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
	* include/bits/random.tcc (__transform): Remove.
	(__normalize): Add.
	(discrete_distribution<>::param_type::_M_initialize): Adjust.
	(piecewise_constant_distribution<>::param_type::_M_initialize):
	Likewise.
	(piecewise_linear_distribution<>::param_type::_M_initialize):
	Likewise.
From-SVN: r195970 
							
						 
						
							2013-02-12 10:26:54 +00:00  
				
					
						
							
							
								 
						
							
								9ea146e6da 
								
							 
						 
						
							
							
								
								PR libstdc++/56202 (again)  
							
							... 
							
							
							
							2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
	    Paolo Carlini  <paolo.carlini@oracle.com>
	PR libstdc++/56202 (again)
	* include/bits/random.tcc (binomial_distribution<>::
	_M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
	in previous commit.
	* include/bits/random.h: Fix comment typo.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r195732 
							
						 
						
							2013-02-04 19:28:40 +00:00  
				
					
						
							
							
								 
						
							
								85018f40ae 
								
							 
						 
						
							
							
								
								re PR libstdc++/56202 (SIGFPE (division by zero) in std::binomial_distribution)  
							
							... 
							
							
							
							2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
	    Paolo Carlini  <paolo.carlini@oracle.com>
	PR libstdc++/56202
	* include/bits/random.tcc (binomial_distribution<>::
	_M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
	division by zero.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r195722 
							
						 
						
							2013-02-04 17:10:59 +00:00  
				
					
						
							
							
								 
						
							
								405feeb871 
								
							 
						 
						
							
							
								
								Update copyright in libstdc++-v3.  
							
							... 
							
							
							
							From-SVN: r195701 
							
						 
						
							2013-02-03 17:54:05 +00:00  
				
					
						
							
							
								 
						
							
								935ec36fdd 
								
							 
						 
						
							
							
								
								re PR libstdc++/55215 (Constructor seeding is broken for Mersenne twister)  
							
							... 
							
							
							
							2012-11-05  Paolo Carlini  <paolo.carlini@oracle.com>
	PR libstdc++/55215
	* include/bits/random.tcc (mersenne_twister_engine<>::seed(_Sseq&)):
	Assign state_size to _M_p.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
	New.
	* testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
	Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
	Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	55215.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
	Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/cons/
	55215.cc: Likewise.
From-SVN: r193181 
							
						 
						
							2012-11-05 19:25:20 +00:00  
				
					
						
							
							
								 
						
							
								5bcb3b4d80 
								
							 
						 
						
							
							
								
								re PR libstdc++/55169 (std::discrete_distribution::operator(generator&) makes unnecessary copy of parameter vector)  
							
							... 
							
							
							
							2012-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
	PR libstdc++/55169
	* include/bits/random.h: Remove all uses of param().
	(chi_squared_distribution<>::__generate_impl(_ForwardIterator,
	_ForwardIterator, _UniformRandomNumberGenerator&): Declare
	* include/bits/random.tcc: ... define.
	* include/ext/random: Remove all uses of param().
From-SVN: r193092 
							
						 
						
							2012-11-02 10:45:25 +00:00  
				
					
						
							
							
								 
						
							
								c2d9083df2 
								
							 
						 
						
							
							
								
								re PR libstdc++/55047 (operator() in std::exponential_distribution may call log(0))  
							
							... 
							
							
							
							2012-10-24   Haakan Younes  <hyounes@google.com>
	     Paolo Carlini  <paolo.carlini@oracle.com>
	PR libstdc++/55047
	* include/bits/random.h (exponential_distribution<>::operator):
	Fix formula to std::log(result_type(1) - __aurng()).
	* include/bits/random.tcc: Likewise, everywhere.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r192762 
							
						 
						
							2012-10-24 12:20:19 +00:00  
				
					
						
							
							
								 
						
							
								48c7b524c1 
								
							 
						 
						
							
							
								
								Optimize bulk mode for normal_distribution<double> for SSE3.  
							
							... 
							
							
							
							2012-09-26  Ulrich Drepper  <drepper@gmail.com>
	Optimize bulk mode for normal_distribution<double> for SSE3.
	* configure.host: Define cpu_opt_bits_random.
	* configure.ac: Substitute CPU_OPT_BITS_RANDOM.
	* include/Makefile.am (bits_headers): Add ${bits_host_headers}.
	(bits_host_headers): Define.
	* include/bits/random.tcc: Move __details::_Power_of_2 to...
	* include/bits/random.h: ...here.
	* include/std/random: Include <bits/opt_random.h>.
	* config/cpu/i486/opt/bits/opt_random.h: New file.
	* config/cpu/generic/opt/bits/opt_random.h: New file.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* aclocal.m4: Regenerated.
	* doc/Makefile.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* libsupc++/Makefile.in: Regenerated.
	* po/Makefile.in: Regenerated.
	* python/Makefile.in: Regenerated.
	* src/Makefile.in: Regenerated.
	* src/c++11/Makefile.in: Regenerated.
	* src/c++98/Makefile.in: Regenerated.
	* testsuite/Makefile.in: Regenerated.
	* config/cpu/generic/opt/ext/opt_random.h: Fix comment.
From-SVN: r191758 
							
						 
						
							2012-09-26 13:10:26 +00:00  
				
					
						
							
							
								 
						
							
								7b93bdde91 
								
							 
						 
						
							
							
								
								Add interfaces to retrieve random numbers in bulk.  
							
							... 
							
							
							
							* include/bits/random.h (uniform_int_distribution<>): Add __generate
	and __generate_impl functions.
	(uniform_real_distribution<>): Likewise.
	(bernoulli_distribution): Likewise.
	(geometric_distribution<>): Likewise.
	(negative_binomial_distribution<>): Likewise.
	(poisson_distribution<>): Likewise.
	(exponential_distribution<>): Likewise.
	(normal_distribution<>): Likewise.
	(lognormal_distribution<>): Likewise.
	(chi_squared_distribution<>): Likewise.
	(cauchy_distribution<>): Likewise.
	(fisher_f_distribution<>): Likewise.
	(student_t_distribution<>): Likewise.
	(gamma_distribution<>): Likewise.
	(weibull_distribution<>): Likewise.
	(extreme_value_distribution<>): Likewise.
	(discrete_distribution<>): Likewise.
	(piecewise_constant_distribution<>): Likewise.
	(piecewise_linear_distribution<>): Likewise.
	* include/bits/random.tcc (__detail::_Power_of_2): New function.
	(uniform_int_distribution<>::__generate_impl): New function.
	(uniform_real_distribution<>::__generate_impl): New function.
	(bernoulli_distribution::__generate_impl): New function.
	(geometric_distribution<>::__generate_impl): New function.
	(negative_binomial_distribution<>::__generate_impl): New function.
	(poisson_distribution<>::__generate_impl): New function.
	(exponential_distribution<>::__generate_impl): New function.
	(normal_distribution<>::__generate_impl): New function.
	(lognormal_distribution<>::__generate_impl): New function.
	(chi_squared_distribution<>::__generate_impl): New function.
	(cauchy_distribution<>::__generate_impl): New function.
	(fisher_f_distribution<>::__generate_impl): New function.
	(student_t_distribution<>::__generate_impl): New function.
	(gamma_distribution<>::__generate_impl): New function.
	(weibull_distribution<>::__generate_impl): New function.
	(extreme_value_distribution<>::__generate_impl): New function.
	(discrete_distribution<>::__generate_impl): New function.
	(piecewise_constant_distribution<>::__generate_impl): New function.
	(piecewise_linear_distribution<>::__generate_impl): New function.
From-SVN: r190712 
							
						 
						
							2012-08-27 14:13:15 +00:00  
				
					
						
							
							
								 
						
							
								b668e41af6 
								
							 
						 
						
							
							
								
								random.h (mersenne_twister_engine): Don't inline discard here.  
							
							... 
							
							
							
							* include/bits/random.h (mersenne_twister_engine): Don't inline
	discard here.  New member function _M_gen_rand.
	* include/bits/random.tcc (mersenne_twister_engine<>::_M_gen_rand):
	New function.  Extracted from operator().
	(mersenne_twister_engine<>::discard): New implementation which
	skips in large steps.
	(mersenne_twister_engine<>::operator()): Use _M_gen_rand.
From-SVN: r190711 
							
						 
						
							2012-08-27 12:08:16 +00:00  
				
					
						
							
							
								 
						
							
								586518549e 
								
							 
						 
						
							
							
								
								random.tcc (seed_seq::generate): Cast max() operands to size_t to ensure a template match.  
							
							... 
							
							
							
							* include/bits/random.tcc (seed_seq::generate): Cast max()
operands to size_t to ensure a template match.
* include/std/bitset (_M_copy_from_ptr): Cast min() operands to
size_t to ensure a template match.
From-SVN: r187376 
							
						 
						
							2012-05-10 16:32:47 -04:00  
				
					
						
							
							
								 
						
							
								cf48c25519 
								
							 
						 
						
							
							
								
								re PR libstdc++/51795 (linear_congruential_engine doesn't work correctly)  
							
							... 
							
							
							
							2012-04-29  Marc Glisse  <marc.glisse@inria.fr>
	    Paolo Carlini  <paolo.carlini@oracle.com>
	PR libstdc++/51795
	* include/bits/stl_algobase.h (__lg<>(_Size)): Remove.
	(__lg(int), __lg(unsigned), __lg(long), __lg(unsigned long),
	__lg(long long), __lg(unsigned long long)): Define constexpr.
	* include/bits/random.h (_Mod<>): Overcome Schrage's algorithm
	limitations.
	(__mod): Adjust.
	(linear_congruential): Remove FIXME static_assert.
	* include/bits/random.tcc (_Mod<>): Adjust.
	* testsuite/26_numerics/random/linear_congruential_engine/operators/
	51795.cc: New.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r186948 
							
						 
						
							2012-04-29 23:36:09 +00:00  
				
					
						
							
							
								 
						
							
								f84ca6e7ce 
								
							 
						 
						
							
							
								
								re PR libstdc++/52699 (infinite loop generated with -O0)  
							
							... 
							
							
							
							2012-04-14  Paolo Carlini  <paolo.carlini@oracle.com>
	PR libstdc++/52699
	* include/bits/random.tcc (independent_bits_engine<>::operator()())
	Avoid various overflows; use common_type on result_type and
	_RandomNumberEngine::result_type; avoid floating point computations;
	other smaller tweaks.
	* include/bits/random.tcc (uniform_int_distribution<>::operator())
	Use common_type; assume _UniformRandomNumberGenerator::result_type
	unsigned; tidy.
	* include/bits/stl_algobase.h (__lg(unsigned), __lg(unsigned long),
	__lg(unsigned long long)): Add.
From-SVN: r186456 
							
						 
						
							2012-04-14 22:33:22 +00:00  
				
					
						
							
							
								 
						
							
								d9c257a7e2 
								
							 
						 
						
							
							
								
								re PR libstdc++/51795 (linear_congruential_engine doesn't work correctly)  
							
							... 
							
							
							
							2012-01-27  Paolo Carlini  <paolo.carlini@oracle.com>
	PR libstdc++/51795
	* include/bits/random.h (linear_congruential_generator): Add
	static_assert preventing instantiation for values of 'a' and 'm'
	currently handled incorrectly but _Mod::__calc.
	* include/bits/random.tcc (seed_seq::generate): Avoid unsafe
	uses of _Mod::__calc.
From-SVN: r183655 
							
						 
						
							2012-01-27 23:30:28 +00:00  
				
					
						
							
							
								 
						
							
								3164517929 
								
							 
						 
						
							
							
								
								re PR libstdc++/50951 (state of subtract_with_carry_engine not saved correctly to output stream)  
							
							... 
							
							
							
							2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
	PR libstdc++/50951
	* include/bits/random.tcc (operator<<(basic_ostream<>&,
	const mersenne_twister_engine<>&): Output _M_p too.
	(operator<<(basic_ostream<>&, const
	subtract_with_carry_engine<>&): Likewise.
	(operator>>(basic_istream<>&, mersenne_twister_engine<>&):
	Reload it.
	(operator>>(basic_istream<>&, subtract_with_carry_engine<>&):
	Likewise.
	* include/bits/random.h (mersenne_twister_engine<>::operator==):
	Compare _M_p too.
	(subtract_with_carry_engine<>::operator==): Compare _M_carry
	and _M_p too.
	(shuffle_order_engine<>::operator==): Compare _M_v(s) and _M_y too.
	* testsuite/26_numerics/random/independent_bits_engine/
	operators/serialize.cc: Extend.
	* testsuite/26_numerics/random/subtract_with_carry_engine/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/
	operators/serialize.cc: Likewise.
From-SVN: r180764 
							
						 
						
							2011-11-02 10:06:08 +00:00  
				
					
						
							
							
								 
						
							
								82582df651 
								
							 
						 
						
							
							
								
								re PR libstdc++/50510 ([C++0x] transposed variable names in std::seed_seq::generate)  
							
							... 
							
							
							
							2011-09-24  John Salmon  <john.salmon@deshaw.com>
	PR libstdc++/50510
	* include/bits/random.tcc (seed_seq::generate): Fix computation.
From-SVN: r179149 
							
						 
						
							2011-09-24 22:34:50 +00:00  
				
					
						
							
							
								 
						
							
								9d1f3ce6ff 
								
							 
						 
						
							
							
								
								re PR libstdc++/50509 ([C++0x] incorrect code in std::seed_seq::generate)  
							
							... 
							
							
							
							2011-09-24  John Salmon  <john.salmon@deshaw.com>
	PR libstdc++/50509
	* include/bits/random.tcc (seed_seq::generate): Fix computation.
From-SVN: r179144 
							
						 
						
							2011-09-24 18:28:36 +00:00  
				
					
						
							
							
								 
						
							
								ff2e697a03 
								
							 
						 
						
							
							
								
								random.h (negative_binomial_distribution<>:: negative_binomial_distribution(_IntType, double), [...]): Tweak construction of _M_gd.  
							
							... 
							
							
							
							2011-03-25  Paolo Carlini  <paolo.carlini@oracle.com>
	* include/bits/random.h (negative_binomial_distribution<>::
	negative_binomial_distribution(_IntType, double),
	negative_binomial_distribution<>::
	negative_binomial_distribution(const param_type&)): Tweak
	construction of _M_gd.
	* include/bits/random.tcc (negative_binomial_distribution<>::
	operator()): Adjust.
From-SVN: r171443 
							
						 
						
							2011-03-25 10:06:33 +00:00  
				
					
						
							
							
								 
						
							
								113b21bdaf 
								
							 
						 
						
							
							
								
								random.h (negative_binomial_distribution<>:: negative_binomial_distribution(_IntType, double), [...]): Fix construction of _M_gd.  
							
							... 
							
							
							
							2011-03-24  Paolo Carlini  <paolo.carlini@oracle.com>
	* include/bits/random.h (negative_binomial_distribution<>::
	negative_binomial_distribution(_IntType, double),
	negative_binomial_distribution<>::
	negative_binomial_distribution(const param_type&)): Fix
	construction of _M_gd.
	* include/bits/random.tcc (negative_binomial_distribution<>::
	operator()): Fix computation, per Leger's algorithm.
	* testsuite/util/testsuite_random.h (discrete_pdf,
	negative_binomial_pdf, poisson_pdf, uniform_int_pdf): New.
	(binomial_pdf): Swap last two parameters.
	* testsuite/26_numerics/random/discrete_distribution/
	operators/values.cc: New.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	operators/values.cc: Likewise.
	* testsuite/26_numerics/random/poisson_distribution/
	operators/values.cc: Likewise.
	* testsuite/26_numerics/random/uniform_int_distribution/
	operators/values.cc: Likewise.
	* testsuite/26_numerics/random/binomial_distribution/
	operators/values.cc: Adjust.
From-SVN: r171411 
							
						 
						
							2011-03-24 16:49:19 +00:00  
				
					
						
							
							
								 
						
							
								d8d4db3345 
								
							 
						 
						
							
							
								
								re PR libstdc++/48114 ([C++0x] binomial_distribution incorrect for p > .5 and geometric_distribution wrongly implements the TR1 definition)  
							
							... 
							
							
							
							2011-03-14  Andrey Zholos  <aaz@althenia.net>
	PR libstdc++/48114
	* include/bits/random.h (geometric_distribution): Correct formula
	in comment, per C++0x.
	(geometric_distribution<>::param_type::param_type(double)): Fix check.
	(geometric_distribution<>::param_type::_M_initialize):
	Store log(1 - p).
	* include/bits/random.tcc (geometric_distribution<>::operator()):
	Fix computation.
	(binomial_distribution<>::operator()): Likewise.
From-SVN: r170946 
							
						 
						
							2011-03-14 17:57:48 +00:00  
				
					
						
							
							
								 
						
							
								12ffa22844 
								
							 
						 
						
							
							
								
								PR libstdc++/36104 part four  
							
							... 
							
							
							
							2011-01-30  Benjamin Kosnik  <bkoz@redhat.com>
	PR libstdc++/36104 part four
	* include/bits/c++config (_GLIBCXX_STD): Remove.
	(_GLIBCXX_STD_D, _GLIBCXX_PR): Now _GLIBCXX_STD_C.
	(_GLIBCXX_P): Now _GLIBCXX_STD_A.
	(_GLIBCXX_NAMESPACE_DEBUG, _GLIBCXX_NAMESPACE_PARALLEL,
	 _GLIBCXX_NAMESPACE_PROFILE, _GLIBCXX_NAMESPACE_VERSION): Remove.
	(_GLIBCXX_INLINE_DEBUG, _GLIBCXX_INLINE_PARALLEL,
	 _GLIBCXX_INLINE_PROFILE): Remove.
	(_GLIBCXX_BEGIN_NAMESPACE(X)): Remove.
	(_GLIBCXX_END_NAMESPACE): Remove.
	(_GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y)): Remove.
	(_GLIBCXX_END_NESTED_NAMESPACE): Remove.
	(_GLIBCXX_BEGIN_NAMESPACE_ALGO): Add.
	(_GLIBCXX_END_NAMESPACE_ALGO): Add.
	(_GLIBCXX_BEGIN_NAMESPACE_CONTAINER): Add.
	(_GLIBCXX_END_NAMESPACE_CONTAINER): Add.
	(_GLIBCXX_BEGIN_NAMESPACE_VERSION): Add.
	(_GLIBCXX_END_NAMESPACE_VERSION): Add.
	(_GLIBCXX_BEGIN_LDBL_NAMESPACE): To _GLIBCXX_BEGIN_NAMESPACE_LDBL.
	(_GLIBCXX_END_LDBL_NAMESPACE): To _GLIBCXX_END_NAMESPACE_LDBL.
	(_GLIBCXX_VISIBILITY_ATTR): Revert to _GLIBCXX_VISIBILITY.
	* include/*: Use new macros for namespace scope.
	* config/*: Same.
	* src/*: Same.
	* src/Makefile.am (sources): Remove debug_list.cc, add
	compatibility-debug_list-2.cc.
	(parallel_sources): Remove parallel_list.cc, add
	compatibility-parallel_list-2.cc.
	(compatibility-parallel_list-2.[o,lo]): New rule.
	* src/Makefile.in: Regenerate.
	* src/debug_list.cc: Remove.
	* src/parallel_list.cc: Remove.
	* src/compatibility-list-2.cc: New.
	* src/compatibility-debug_list-2.cc: New.
	* src/compatibility-parallel_list-2.cc: New.
	* doc/doxygen/user.cfg.in: Adjust macros.
	* testsuite/20_util/auto_ptr/assign_neg.cc: Adjust line numbers, macros.
	* testsuite/20_util/declval/requirements/1_neg.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
	* testsuite/20_util/forward/c_neg.cc: Same.
	* testsuite/20_util/forward/f_neg.cc: Same.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Same.
	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Same.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/forward_list/capacity/1.cc: Same.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Same.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Same.
	* testsuite/23_containers/list/capacity/29134.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/vector/bool/capacity/29134.cc: Same.
	* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
	* testsuite/25_algorithms/sort/35588.cc: Same.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Same.
	* testsuite/ext/profile/profiler_algos.cc: Same.
	* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
	* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.
	* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
	* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Same.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
From-SVN: r169421 
							
						 
						
							2011-01-30 22:39:36 +00:00  
				
					
						
							
							
								 
						
							
								f910786b98 
								
							 
						 
						
							
							
								
								*: Use headername alias to associate private includes to public includes.  
							
							... 
							
							
							
							2010-11-18  Benjamin Kosnik  <bkoz@redhat.com>
	* config/*/*: Use headername alias to associate private includes
	to public includes.
	* include/*/*: Same.
	* scripts/run_doxygen: Update for doxygen 1.7.2.
	* doc/doxygen/user.cfg.in: Same.
	* doc/doxygen/TODO: Remove.
	* testsuite/*/std_c++0x_neg.cc: Adjust line number.
From-SVN: r168046 
							
						 
						
							2010-12-19 09:21:16 +00:00  
				
					
						
							
							
								 
						
							
								53dc5044ed 
								
							 
						 
						
							
							
								
								cinttypes: Remove, move contents to C++0x and TR1 headers.  
							
							... 
							
							
							
							2010-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
	* include/tr1_impl/cinttypes: Remove, move contents to C++0x
	and TR1 headers.
	* include/tr1_impl/cstdlib: Likewise.
	* include/tr1_impl/cstdio: Likewise.
	* include/tr1_impl/cctype: Likewise.
	* include/tr1_impl/boost_sp_counted_base.h: Likewise.
	* include/tr1_impl/cmath: Likewise.
	* include/tr1_impl/cfenv: Likewise.
	* include/tr1_impl/utility: Likewise.
	* include/tr1_impl/complex: Likewise.
	* include/tr1_impl/cwchar: Likewise.
	* include/tr1_impl/type_traits: Likewise.
	* include/tr1_impl/cstdint: Likewise.
	* include/tr1_impl/regex: Likewise.
	* include/tr1_impl/array: Likewise.
	* include/tr1_impl/cwctype: Likewise.
	* include/Makefile.am: Adjust.
	* include/Makefile.in: Regenerate.
	* src/condition_variable.cc: Adjust; consistently use
	_GLIBCXX_BEGIN_NAMESPACE and _GLIBCXX_END_NAMESPACE.
	* src/mutex.cc: Likewise.
	* src/future.cc: Likewise.
	* src/atomic.cc: Likewise.
	* src/chrono.cc: Likewise.
	* src/thread.cc: Likewise.
	* include/std/tuple: Likewise.
	* include/std/utility: Likewise.
	* include/std/thread: Likewise.: Likewise.
	* include/std/type_traits: Likewise.
	* include/std/memory: Likewise.
	* include/std/future: Likewise.
	* include/std/ratio: Likewise.
	* include/std/chrono: Likewise.
	* include/std/condition_variable: Likewise.
	* include/std/mutex: Likewise.
	* include/std/functional: Likewise.
	* include/std/complex: Likewise.
	* include/std/typeindex: Likewise.
	* include/std/array: Likewise.
	* include/bits/regex_compiler.h: Likewise.
	* include/bits/regex_grep_matcher.tcc: Likewise.
	* include/bits/regex_grep_matcher.h: Likewise.
	* include/bits/regex_constants.h: Likewise.
	* include/bits/regex_cursor.h: Likewise.
	* include/bits/regex_nfa.tcc: Likewise.
	* include/bits/shared_ptr_base.h: Likewise.
	* include/bits/regex_nfa.h: Likewise.
	* include/bits/random.tcc: Likewise.
	* include/bits/regex.h: Likewise.
	* include/bits/random.h: Likewise.
	* include/bits/regex_error.h: Likewise.
	* include/c_global/cinttypes: Likewise.
	* include/c_global/cstdlib: Likewise.
	* include/c_global/cstdio: Likewise.
	* include/c_global/cctype: Likewise.
	* include/c_global/cmath: Likewise.
	* include/c_global/cfenv: Likewise.
	* include/c_global/cwchar: Likewise.
	* include/c_global/cstdint: Likewise.
	* include/c_global/cwctype: Likewise.
	* include/tr1/shared_ptr.h: Likewise.
	* include/tr1/cinttypes: Likewise.
	* include/tr1/cstdio: Likewise.
	* include/tr1/cfenv: Likewise.
	* include/tr1/utility: Likewise.
	* include/tr1/cwchar: Likewise.
	* include/tr1/type_traits: Likewise.
	* include/tr1/memory: Likewise.
	* include/tr1/cstdint: Likewise.
	* include/tr1/regex: Likewise.
	* include/tr1/cwctype: Likewise.
	* include/tr1/cstdlib: Likewise.
	* include/tr1/cctype: Likewise.
	* include/tr1/cmath: Likewise.
	* include/tr1/complex: Likewise.
	* include/tr1/array: Likewise.
	* include/c_compatibility/fenv.h: Likewise.
	* include/c_compatibility/stdint.h: Likewise.
	* include/c_compatibility/inttypes.h: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820.cc: Adjust
	dg-error line numbers.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
	* testsuite/20_util/make_unsigned/requirements/
	typedefs_neg.cc: Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/cons/43820.cc: Likewise.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
From-SVN: r166211 
							
						 
						
							2010-11-02 18:51:23 +00:00  
				
					
						
							
							
								 
						
							
								94a86be0dd 
								
							 
						 
						
							
							
								
								libstdc++: N3126 draft support.  
							
							... 
							
							
							
							* include/std/chrono: Extend constexpr application.
	* testsuite/util/testsuite_common_types.h
	(constexpr_default_constructible, constexpr_single_value_constructible)
	: Add comments about implied constraints.
	* testsuite/20_util/duration/cons/constexpr.cc: Activate all tests.
	* testsuite/20_util/time_point/cons/constexpr.cc: Same.
	* testsuite/20_util/time_point/requirements/constexpr_functions.cc:
	Same.
	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust line
	numbers.
	* testsuite/20_util/time_point_cast/constexpr.cc: New.
	* include/std/bitset: Use __SIZEOF_* macros to re-create original
	logic instead of slipshod application of
	std::numeric_limits<T>::max() macros.
	* testsuite/util/testsuite_common_types.h
	(constexpr_default_constructible): Modify.
	* include/std/chrono: Tested constexpr.
	* testsuite/20_util/duration_cast/constexpr.cc: New.
	* testsuite/20_util/time_point/cons/constexpr.cc: New.
	* testsuite/20_util/duration/cons/constexpr.cc: Add single_value tests.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
	line numbers.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
	* testsuite/20_util/time_point/cons/constexpr.cc: Add single_value
	tests.
	* testsuite/20_util/time_point/requirements/constexpr_functions.cc: Add.
	* testsuite/util/testsuite_common_types.h: Adjust init.
	* include/std/chrono (duration): Remove defaulted constructor,
	replace with mem-init list.
	* testsuite/20_util/duration/cons/constexpr.cc: Add single value.
	* testsuite/20_util/duration/requirements/constexpr_functions.cc:
	Add non-static member functions.
	* testsuite/20_util/default_delete/cons/constexpr.cc: New, xfail.
	* testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Same.
	* testsuite/20_util/shared_ptr/cons/constexpr.cc: Same.
	* testsuite/20_util/time_point/requirements/constexpr_functions.cc:
	Same.
	* testsuite/20_util/unique_ptr/cons/constexpr.cc: Same.
	* testsuite/20_util/weak_ptr/cons/constexpr.cc: Same.
	* include/std/bitset: Add constexpr as per N3126 draft.
	* testsuite/23_containers/bitset/cons/constexpr.cc: New.
	* testsuite/23_containers/bitset/requirements/constexpr_functions.cc:
	New.
	* testsuite/util/testsuite_common_types.h: Reset condition.
	* include/bits/random.h: Remove misleading comments.
	* include/bits/regex.h: Add constexpr.
	* testsuite/28_regex/05_constants/syntax_option_type.cc: Add tests.
	* testsuite/28_regex/08_basic_regex/requirements/constexpr_data.cc: New.
	PR libstdc++/46134
	* include/std/chrono: Use default constructor.
	* testsuite/util/testsuite_common_types.h
	(constexpr_default_constructible): Adjust condition.
	PR libstdc++/46133
	* include/std/complex: Adjust complex specialization default
	constructors for constexpr.
	* testsuite/26_numerics/complex/cons/constexpr.cc: Enable tests.
	* include/bits/random.h: Adjust for constexpr as per N3126 draft.
	* testsuite/26_numerics/random/discard_block_engine/requirements/
	constexpr_data.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/requirements/
	constexpr_functions.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/requirements/
	constexpr_functions.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/requirements/
	constexpr_data.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/requirements/
	constexpr_functions.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/requirements/
	constexpr_data.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/requirements/
	constexpr_functions.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/requirements/
	constexpr_data.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/requirements/
	constexpr_functions.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/requirements/
	constexpr_data.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/requirements/
	constexpr_functions.cc: New.
	* include/bits/stream_iterator.h: Add constexpr as per N3126 draft.
	* include/bits/streambuf_iterator.h: Same.
	* include/std/complex: Same.
	* testsuite/24_iterators/istream_iterator/cons/constexpr.cc: New.
	* testsuite/24_iterators/istreambuf_iterator/cons/constexpr.cc: New.
	* testsuite/26_numerics/complex/cons/constexpr.cc: New.
	* testsuite/26_numerics/complex/requirements/constexpr_functions.cc:
	New.
	* include/bits/char_traits.h: Add constexpr as per N3126 draft.
	* testsuite/21_strings/char_traits/requirements/constexpr_functions.cc:
	New.
	* include/tr1_impl/array: Add constexpr as per N3126 draft.
	* testsuite/23_containers/array/requirements/
	constexpr_functions.cc: New.
	* include/bits/shared_ptr.h: Revert changes.
	* include/bits/unique_ptr.h: Same.
	* include/std/chrono: Adjust.
	* include/tr1_impl/type_traits: Same.
	* testsuite/util/testsuite_common_types.h: Add test functors.
	* testsuite/20_util/duration/cons/constexpr.cc: New.
	* testsuite/20_util/duration/requirements/constexpr_functions.cc: Same.
	* testsuite/20_util/pair/cons/constexpr.cc: Same.
	* testsuite/20_util/ratio/requirements/constexpr_data.cc: Same.
	* testsuite/27_io/ios_base/types/fmtflags/constexpr_operators.cc: Same.
	* testsuite/27_io/ios_base/types/iostate/constexpr_operators.cc: Same.
	* testsuite/27_io/ios_base/types/openmode/constexpr_operators.cc: Same.
	* testsuite/30_threads/call_once/constexpr.cc: Same.
	* testsuite/30_threads/mutex/cons/constexpr.cc: Same.
	* testsuite/30_threads/once_flag/cons/constexpr.cc: Same.
	* testsuite/tr1/4_metaprogramming/integral_constant/requirements/
	constexpr_data.cc: Same.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Same.
	* include/bits/allocator.h: Add constexpr as per N3126 draft.
	* include/bits/ios_base.h: Same.
	* include/bits/shared_ptr.h: Same.
	* include/bits/unique_ptr.h: Same.
	* include/bits/stl_iterator.h: Same.
	* include/bits/stl_pair.h: Same.
	* include/std/tuple: Same.
	* include/tr1_impl/type_traits: Same.
	* include/std/chrono: Same.
	* include/std/ratio: Same.
	* include/std/mutex: Same.
	* src/mutex.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
	* doc/doxygen/user.cfg.in: Replace _GLIBCXX_USE_CONSTEXPR,
	_GLIBCXX_CONSTEXPR for doxygen generation.
	* src/limits.cc: Undef.
	* testsuite/29_atomics/atomic/cons/constexpr.cc: Adjust.
	* testsuite/29_atomics/atomic_address/cons/constexpr.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/constexpr.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.c: Same.
	* testsuite/18_support/numeric_limits/constexpr.cc: To...
	* testsuite/18_support/numeric_limits/requirements/
	constexpr_data.cc, constexpr_functions.cc: ...this
	* testsuite/util/testsuite_common_types.h
	(constexpr_single_value_constructible): Add.
	* testsuite/29_atomics/atomic/cons/constexpr.cc: Adjust name.
	* testsuite/29_atomics/atomic_integral/cons/constexpr.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/constexpr.cc: New.
	* testsuite/18_support/numeric_limits/constexpr.cc: New.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/29_atomics/atomic/cons/constexpr.cc: Same.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/constexpr.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: Same.
	* include/bits/c++config (_GLIBCXX_CONSTEXPR): Add.
	(_GLIBCXX_USE_CONSTEXPR): Add.
	* include/std/limits: Use it.
	* src/limits.cc: Adjust.
	* testsuite/ext/profile/mutex_extensions.cc: Change line number.
	* include/bits/atomic_0.h: Rework for N3126 draft, add constexpr.
	* include/bits/atomic_2.h: Same.
	* include/bits/atomic_base.h: Same.
	* include/std/atomic: Same.
	* src/atomic.cc: Same.
	* include/bits/atomicfwd_c.h: Remove.
	* include/bits/atomicfwd_cxx.h: Remove.
	* include/c_compatibility/stdatomic.h: Remove.
	* include/Makefile.am: Remove atomicfwd_c.h, atomicfwd_cxx.h,
	stdatomic.h.
	* include/Makefile.in: Regenerate.
	* doc/xml/manual/using.xml: Update list of header files for changes.
	* testsuite/util/testsuite_common_types.h
	(constexpr_constructible): Add.
	* testsuite/29_atomics/atomic/cons/constexpr.cc: New.
	* testsuite/29_atomics/atomic_integral/cons/constexpr.cc: New.
	* testsuite/17_intro/headers/c++200x/stdc++.cc: Modify.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_flag/cons/1.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/headers/atomic/macros.cc: Same.
	* testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Same.
	* testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set/implicit.c: Remove.
	* testsuite/29_atomics/atomic_flag/test_and_set/explicit.c: Same.
	* testsuite/29_atomics/atomic_flag/clear/1.c: Same.
	* testsuite/29_atomics/headers/stdatomic.h/debug_mode.c: Same.
	* testsuite/29_atomics/headers/stdatomic.h/functions.c: Same.
	* testsuite/29_atomics/headers/stdatomic.h/macros.c: Same.
	* testsuite/29_atomics/headers/stdatomic.h/types.c: Same.
	* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.16.
From-SVN: r166171 
							
						 
						
							2010-11-01 22:35:28 -04:00  
				
					
						
							
							
								 
						
							
								879b9073c8 
								
							 
						 
						
							
							
								
								random.h (discrete_distribution<>::param_type:: param_type()): Default construct the vectors.  
							
							... 
							
							
							
							2010-10-13  Paolo Carlini  <paolo.carlini@oracle.com>
	* include/bits/random.h (discrete_distribution<>::param_type::
	param_type()): Default construct the vectors.
	(discrete_distribution<>::param_type::probabilities): Adjust.
	(discrete_distribution<>::probabilities): Likewise.
	(discrete_distribution<>::max): Likewise.
	(piecewise_constant_distribution<>::param_type::
	param_type()): Default construct the vectors.
	(piecewise_constant_distribution<>::param_type::intervals): Adjust.
	(piecewise_constant_distribution<>::param_type::densities): Likewise.
	(piecewise_constant_distribution<>::intervals): Likewise.
	(piecewise_constant_distribution<>::densities): Likewise.
	(piecewise_constant_distribution<>::min): Likewise.
	(piecewise_constant_distribution<>::max): Likewise.
	(piecewise_linear_distribution<>::param_type::
	param_type()): Default construct the vectors.
	(piecewise_linear_distribution<>::param_type::intervals): Adjust.
	(piecewise_linear_distribution<>::param_type::densities): Likewise.
	(piecewise_linear_distribution<>::intervals): Likewise.
	(piecewise_linear_distribution<>::densities): Likewise.
	(piecewise_linear_distribution<>::min): Likewise.
	(piecewise_linear_distribution<>::max): Likewise.
	* include/bits/random.tcc (discrete_distribution<>::param_type::
	_M_initialize): Deal quickly with raw _M_prob equivalent to
	a default constructed param_type, just clear the vector.
	(discrete_distribution<>::operator()): Early return 0 for a
	default constructed distribution.
	(piecewise_constant_distribution<>::param_type::_M_initialize):
	Likewise for _M_int and _M_den.
	(piecewise_constant_distribution<>::operator()): Early return
	for a default constructed distribution.
	(piecewise_linear_distribution<>::param_type::_M_initialize):
	Likewise.
	(piecewise_linear_distribution<>::operator()): Early return
	for a default constructed distribution.
	* testsuite/26_numerics/random/discrete_distribution/operators/
	call-default.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	operators/call-default.cc: Likewise.
From-SVN: r165427 
							
						 
						
							2010-10-13 16:31:17 +00:00  
				
					
						
							
							
								 
						
							
								d3a7350497 
								
							 
						 
						
							
							
								
								random.tcc (piecewise_linear_distribution<>:: operator()): Don't crash when the dist is default-constructed.  
							
							... 
							
							
							
							2010-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
	* include/bits/random.tcc (piecewise_linear_distribution<>::
	operator()): Don't crash when the dist is default-constructed.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	operators/call-default.cc: New.
From-SVN: r165379 
							
						 
						
							2010-10-12 13:35:22 +00:00  
				
					
						
							
							
								 
						
							
								06f29237d7 
								
							 
						 
						
							
							
								
								re PR libstdc++/45613 (bits/random.h misses include guards)  
							
							... 
							
							
							
							2010-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
	PR libstdc++/45613
	* include/bits/random.tcc: Add missing include guards.
	* include/bits/random.h: Likewise.
	* include/tr1/random.tcc: Likewise.
From-SVN: r164074 
							
						 
						
							2010-09-09 11:23:39 +00:00  
				
					
						
							
							
								 
						
							
								b7d3d70f77 
								
							 
						 
						
							
							
								
								random.tcc (uniform_int_distribution<>::operator()): Fix to work well for arbitrary urng.max() and urng.min().  
							
							... 
							
							
							
							2010-06-20  Paolo Carlini  <paolo.carlini@oracle.com>
	    Kai-Uwe Bux  <bux@kubux.net>
	* include/bits/random.tcc (uniform_int_distribution<>::operator()):
	Fix to work well for arbitrary urng.max() and urng.min().
Co-Authored-By: Kai-Uwe Bux <bux@kubux.net>
From-SVN: r161054 
							
						 
						
							2010-06-20 21:03:10 +00:00  
				
					
						
							
							
								 
						
							
								afcd05a759 
								
							 
						 
						
							
							
								
								random.tcc: Minor formatting changes.  
							
							... 
							
							
							
							2010-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
	* include/bits/random.tcc: Minor formatting changes.
2010-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
	* include/bits/stl_algo.h (shuffle): Fix typo in signature.
	* include/bits/algorithmfwd.h: Adjust.
	* testsuite/25_algorithms/shuffle/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/shuffle/requirements/
	explicit_instantiation/pod.cc: Likewise.
From-SVN: r157565 
							
						 
						
							2010-03-19 11:10:08 +00:00