Jakub Jelinek
818ab71a41
Update copyright years.
...
From-SVN: r232055
2016-01-04 15:30:50 +01:00
Nathan Froyd
141aa58b53
opt_random.h: Include pmmintrin.h instead of x86intrin.h, and only do so when __SSE3__
...
* config/cpu/i486/opt/bits/opt_random.h: Include pmmintrin.h instead
of x86intrin.h, and only do so when __SSE3__
* include/ext/random: Include emmintrin.h instead of x86intrin.h
From-SVN: r228786
2015-10-13 20:55:44 +00:00
Jonathan Wakely
7215aaedd6
Fix errors due to extra includes in extc++.h
...
* include/precompiled/extc++.h: Fix bootstrap error due to
unconditional inclusion of <ext/enc_filebuf.h>.
* include/ext/random: Check for definition of UINT32_C.
From-SVN: r227902
2015-09-18 12:21:05 +01:00
Jonathan Wakely
2f1e8e7c47
Enable lightweight checks with _GLIBCXX_ASSERTIONS.
...
* doc/xml/manual/using.xml (_GLIBCXX_ASSERTIONS): Document.
* doc/html/manual/using_macros.html: Regenerate.
* include/bits/c++config: Define _GLIBCXX_ASSERTIONS when
_GLIBCXX_DEBUG is defined. Disable std::string extern templates when
(_GLIBCXX_EXTERN_TEMPLATE, __glibcxx_assert): Depend on
_GLIBCXX_ASSERTIONS instead of _GLIBCXX_DEBUG.
* include/debug/debug.h [!_GLIBCXX_DEBUG]: Define
__glibcxx_requires_non_empty_range and __glibcxx_requires_nonempty.
* include/backward/auto_ptr.h (auto_ptr::operator*,
auto_ptr::operator->): Replace _GLIBCXX_DEBUG_ASSERT with
__glibcxx_assert.
* include/bits/basic_string.h (basic_string::operator[],
basic_string::front, basic_string::back, basic_string::pop_back):
Likewise.
* include/bits/random.h
(uniform_int_distribution::param_type::param_type,
uniform_real_distribution::param_type::param_type,
normal_distribution::param_type::param_type,
gamma_distribution::param_type::param_type,
bernoulli_distribution::param_type::param_type,
binomial_distribution::param_type::param_type,
geometric_distribution::param_type::param_type,
negative_binomial_distribution::param_type::param_type,
poisson_distribution::param_type::param_type,
exponential_distribution::param_type::param_type): Likewise.
* include/bits/regex.h (match_results::operator[],
match_results::prefix, match_results::suffix): Likewise.
* include/bits/regex.tcc (format, regex_iterator::operator++):
Likewise.
* include/bits/regex_automaton.tcc (_StateSeq::_M_clone): Likewise.
* include/bits/regex_compiler.tcc (_Compiler::_Compiler,
_Compiler::_M_insert_character_class_matcher): Likewise.
* include/bits/regex_executor.tcc (_Executor::_M_dfs): Likewise.
* include/bits/regex_scanner.tcc (_Scanner::_M_advance,
_Scanner::_M_scan_normal): Likewise.
* include/bits/shared_ptr_base.h (__shared_ptr::_M_reset,
__shared_ptr::operator*): Likewise.
* include/bits/stl_iterator_base_funcs.h (__advance): Likewise.
* include/bits/unique_ptr.h (unique_ptr::operator*,
unique_ptr::operator[]): Likewise.
* include/experimental/fs_path.h (path::path(string_type, _Type),
path::iterator::operator++, path::iterator::operator--,
path::iterator::operator*): Likewise.
* include/experimental/string_view (basic_string_view::operator[],
basic_string_view::front, basic_string_view::back,
basic_string_view::remove_prefix): Likewise.
* include/ext/random (beta_distribution::param_type::param_type,
normal_mv_distribution::param_type::param_type,
rice_distribution::param_type::param_type,
pareto_distribution::param_type::param_type,
k_distribution::param_type::param_type,
arcsine_distribution::param_type::param_type,
hoyt_distribution::param_type::param_type,
triangular_distribution::param_type::param_type,
von_mises_distribution::param_type::param_type,
hypergeometric_distribution::param_type::param_type,
logistic_distribution::param_type::param_type): Likewise.
* include/ext/vstring.h (__versa_string::operator[]): Likewise.
* include/std/complex (polar): Likewise.
* include/std/mutex [!_GTHREAD_USE_MUTEX_TIMEDLOCK]
(timed_mutex::~timed_mutex, timed_mutex::unlock,
(recursive_timed_mutex::~timed_mutex, recursive_timed_mutex::unlock):
Likewise.
* include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER]
(__shared_mutex_pthread::__shared_mutex_pthread,
__shared_mutex_pthread::~__shared_mutex_pthread): Likewise.
(__shared_mutex_pthread::lock, __shared_mutex_pthread::try_lock,
__shared_mutex_pthread::unlock, __shared_mutex_pthread::lock_shared,
__shared_mutex_pthread::try_lock_shared): Likewise.
(__shared_mutex_cv::~__shared_mutex_cv, __shared_mutex_cv::unlock,
__shared_mutex_cv::unlock_shared): Likewise.
(shared_timed_mutex::try_lock_until,
shared_timed_mutex::try_lock_shared_until): Likewise.
* include/std/valarray (valarray::valarray(const _Tp*, size_t),
valarray::operator=, valarray::sum, valarray::min, valarray::max,
_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT, _DEFINE_BINARY_OPERATOR):
Likewise.
From-SVN: r227595
2015-09-09 18:12:47 +01:00
Jakub Jelinek
5624e564d2
Update copyright years.
...
From-SVN: r219188
2015-01-05 13:33:28 +01:00
Paolo Carlini
026ae646e7
random: Minor formatting and cosmetic tweaks.
...
2014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/random: Minor formatting and cosmetic tweaks.
(uniform_on_sphere_distribution<>::operator==
(const uniform_on_sphere_distribution&,
const uniform_on_sphere_distribution&)): Compare the _M_nds.
(uniform_on_sphere_distribution<>::reset): Reset _M_nd.
(operator!=(const uniform_on_sphere_distribution&,
const uniform_on_sphere_distribution&)): Adjust.
* include/ext/random.tcc: Minor cosmetc tweaks.
From-SVN: r212674
2014-07-16 15:47:26 +00:00
Ulrich Drepper
863a2c7ecc
random: Add uniform_on_sphere_distribution definition.
...
2014-07-12 Ulrich Drepper <drepper@gmail.com>
* include/ext/random: Add uniform_on_sphere_distribution definition.
* include/ext/random.tcc: Add out-of-band member function definitions
for uniform_on_sphere_distribution.
* testsuite/ext/random/uniform_on_sphere_distribution/
cons/default.cc: New file.
* testsuite/ext/random/uniform_on_sphere_distribution/
operators/equal.cc: New file.
* testsuite/ext/random/uniform_on_sphere_distribution/
operators/inequal.cc: New file.
* testsuite/ext/random/uniform_on_sphere_distribution/
operators/serialize.cc: New file.
From-SVN: r212492
2014-07-13 11:07:44 +00:00
Edward Smith-Rowland
8daac7749f
Add the logistic_distribution as an extension.
...
2014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net>
Add the logistic_distribution as an extension.
* include/ext/random: Add the logistic_distribution.
* include/ext/random.tcc: Add the logistic_distribution.
* testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
* testsuite/ext/random/logistic_distribution/cons/default.cc: New.
* testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
New.
* testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
* testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
* testsuite/ext/random/logistic_distribution/operators/serialize.cc:
New.
From-SVN: r212476
2014-07-12 01:32:20 +00:00
Richard Sandiford
aa118a03c4
Update copyright years in libstdc++-v3/
...
From-SVN: r206301
2014-01-02 22:30:10 +00:00
Edward Smith-Rowland
d2ae7b11b5
Implement __gnu_cxx::hypergeometric_distribution.
...
2013-11-21 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement __gnu_cxx::hypergeometric_distribution.
* include/ext/random: Add hypergeometric_distribution.
* include/ext/random.tcc: Add hypergeometric_distribution.
* testsuite/util/testsuite_random.h (hypergeometric_pdf): New pdf
for the hypergeometric discreet distribution;
(lbincoef): New supporting function for binomial coefficients.
* testsuite/ext/random/hypergeometric_distribution/operators/
serialize.cc: New.
* testsuite/ext/random/hypergeometric_distribution/operators/
equal.cc: New.
* testsuite/ext/random/hypergeometric_distribution/operators/
inequal.cc: New.
* testsuite/ext/random/hypergeometric_distribution/operators/
values.cc: New.
* testsuite/ext/random/hypergeometric_distribution/cons/parms.cc: New.
* testsuite/ext/random/hypergeometric_distribution/cons/default.cc: New.
* testsuite/ext/random/hypergeometric_distribution/requirements/
explicit_instantiation/1.cc: New.
* testsuite/ext/random/hypergeometric_distribution/requirements/
typedefs.cc: New.
From-SVN: r205212
2013-11-21 12:27:02 +00:00
Paolo Carlini
a803975d9c
re PR libstdc++/58098 (wrong return value of normal_distribution::min())
...
2013-08-07 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58098
* include/bits/random.h (cauchy_distribution<>::min,
extreme_value_distribution<>::min, normal_distribution<>::min,
student_t_distribution<>::min): Fix.
* include/ext/random (normal_mv_distribution<>::min): Likewise.
* testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
Adjust.
testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/extreme_value_distribution/cons/
parms.cc: Likewise.
testsuite/26_numerics/random/extreme_value_distribution/cons/
default.cc: Likewise.
* testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/normal_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
* testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
Minor tweak.
* testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
Likewise.
* testsuite/ext/von_mises_distribution/*: Move to...
* testsuite/ext/random/von_mises_distribution/*: ... here.
* testsuite/ext/triangular_distribution/*: Move to...
* testsuite/ext/random/triangular_distribution/*: ... here.
From-SVN: r201562
2013-08-07 11:41:30 +00:00
Matthias Klose
6ca935e617
Makefile.am (bits_headers): Remove ${bits_host_headers}.
...
2013-05-23 Matthias Klose <doko@ubuntu.com>
* include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
(ext_headers): Remove ${ext_host_headers}.
(stamp-${host_alias}): Create ${host_builddir}/../ext.
(stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
(install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
* include/Makefile.in: Regenerate.
* include/ext/random: Include ext/opt_random.h.
From-SVN: r199257
2013-05-23 14:02:14 +00:00
Ulrich Drepper
0388c91350
Fix and optimize von_mises_distribution class.
...
From-SVN: r196436
2013-03-04 16:24:58 +00:00
Ulrich Drepper
d233c23756
Add math constants and triangular and von Mises distributions.
...
From-SVN: r196407
2013-03-03 00:12:28 +00:00
Richard Sandiford
405feeb871
Update copyright in libstdc++-v3.
...
From-SVN: r195701
2013-02-03 17:54:05 +00:00
Jason Merrill
734f50238f
* many: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
...
From-SVN: r193392
2012-11-10 12:27:22 -05:00
Paolo Carlini
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
Edward Smith-Rowland
500602220a
dd the Hoyt and the arcsine distributions as extensions.
...
From-SVN: r192403
2012-10-12 15:15:21 +00:00
Paolo Carlini
eeeef8f4f9
re PR libstdc++/54869 (ext/random/simd_fast_mersenne_twister_engine/cons/default.cc FAILs)
...
2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/54869
* include/ext/random (simd_fast_mersenne_twister_engine): Provide
only for little endian targets.
* include/ext/random.tcc: Likewise.
* config/cpu/i486/opt/ext/opt_random.h: Likewise.
* testsuite/lib/libstdc++.exp (check_v3_target_little_endian): Add.
* testsuite/lib/dg-options.exp (dg-require-little-endian): Add.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
operators/equal.cc: Use the latter.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
operators/serialize.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
operators/inequal.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
cons/copy.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
cons/seed1.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
cons/seed2.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
cons/default.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
cons/seed_seq.cc: Likewise.
From-SVN: r192256
2012-10-09 14:50:19 +00:00
Paolo Carlini
decf0e27a0
re PR libstdc++/54757 (FAIL: ext/random/beta_distribution/cons/default.cc (test for excess errors))
...
2012-10-01 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/54757
* include/ext/random (rice_distribution<>::operator()): Use std::hypot
only if _GLIBCXX_USE_C99_MATH_TR1.
* include/ext/random.tcc (rice_distribution<>::__generate_impl):
Likewise.
From-SVN: r191944
2012-10-01 23:10:02 +00:00
Paolo Carlini
8054b82ee5
random: Add include checks for c++11 and <cstdint>.
...
2012-09-26 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/random: Add include checks for c++11 and <cstdint>.
From-SVN: r191792
2012-09-27 01:04:30 +00:00
Edward Smith-Rowland
21a8ccc02f
Implement the K-distribution as an extension.
...
From-SVN: r191688
2012-09-25 03:26:36 +00:00
Uros Bizjak
37f1d5c9f9
re PR libstdc++/54675 (Many libstdc++ testsuite failures in ext/random)
...
PR libstdc++/54675
* include/ext/random: Avoid the badname __alpha (and, for
consistency, __mu, __nu, __sigma and __omega too).
* include/bits/random.tcc: Likewise.
From-SVN: r191650
2012-09-23 13:24:46 +02:00
Edward Smith-Rowland
0c105b723d
Implement the Pareto distribution as an extension.
...
From-SVN: r191612
2012-09-21 12:33:20 +00:00
Edward Smith-Rowland
19ece7ec02
Implement the Nakagami statistical distribution as an extension.
...
From-SVN: r191434
2012-09-18 16:14:09 +00:00
Ulrich Drepper
9bf714c23f
configure.ac: Substitute CPU_OPT_EXT_RANDOM.
...
* configure.ac: Substitute CPU_OPT_EXT_RANDOM.
* configure.host: Define cpu_opt_ext_random to location of the
optimized version of <ext/random>.
* include/Makefile.am (ext_headers): Add ${ext_host_headers}.
(ext_host_headers): Define.
* include/ext/random (simd_fast_mersenne_twister_engine<>
::operator==): Don't define function here.
* include/ext/random.tcc (simd_fast_mersenne_twister_engine): Don't
define code using SSE2 here. Define generic code only if
_GLIBCXX_OPT_HAVE_RANDOM_SFMT_GEN_READ is not defined.
(simd_fast_mersenne_twister_engine<>
::operator==): Define here if
_GLIBCXX_OPT_HAVE_RANDOM_SFMT_OPERATOREQUAL is not defined.
* config/cpu/generic/opt/ext/opt_random.h: New file.
* config/cpu/i486/opt/ext/opt_random.h: New file.
* libsupc++/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
* po/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
* doc/Makefile.in: Regenerated.
* aclocal.m4: Regenerated.
* python/Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* src/c++98/Makefile.in: Regenerated.
* src/c++11/Makefile.in: Regenerated.
* src/Makefile.in: Regenerated.
From-SVN: r191384
2012-09-17 13:02:39 +00:00
Paolo Carlini
d9d69f64b1
random (rice_distribution<>::operator==): Change inline friend definition to non-template.
...
2012-09-16 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/random (rice_distribution<>::operator==): Change
inline friend definition to non-template.
* testsuite/ext/random/rice_distribution/requirements/
explicit_instantiation/1.cc: New.
* testsuite/26_numerics/random/normal_mv_distribution: Move...
* testsuite/ext/random/normal_mv_distribution: ... here.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine:
Move...
* testsuite/ext/random/simd_fast_mersenne_twister_engine: ... here.
* testsuite/26_numerics/random/beta_distribution: Move...
* testsuite/ext/random/beta_distribution: ... here.
* testsuite/26_numerics/random/rice_distribution: Move...
* testsuite/ext/random/rice_distribution: ... here.
From-SVN: r191367
2012-09-16 22:28:21 +00:00
Edward Smith-Rowland
283126182e
Add the rice distribution as an extension.
...
From-SVN: r191362
2012-09-16 17:36:56 +00:00
Ulrich Drepper
bf30f22962
random: Add __gnu_cxx:normal_mv_distribution<> class.
...
* include/ext/random: Add __gnu_cxx:normal_mv_distribution<> class.
* include/ext/random.tccAdd out-of-line functions for
__gnu_cxx::normal_mv_distribution<>.
* testsuite/26_numerics/random/normal_mv_distribution/
operators/equal.cc: New file.
* testsuite/26_numerics/random/normal_mv_distribution/
operators/serialize.cc: New file.
* testsuite/26_numerics/random/normal_mv_distribution/
operators/inequal.cc: New file.
* testsuite/26_numerics/random/normal_mv_distribution/
cons/default.cc: New file.
* testsuite/26_numerics/random/normal_mv_distribution/
cons/parms.cc: New file.
* testsuite/26_numerics/random/normal_mv_distribution/
requirements/explicit_instantiation/1.cc: New file.
* testsuite/26_numerics/random/normal_mv_distribution/
requirements/typedefs.cc: New file.
From-SVN: r190960
2012-09-05 04:06:24 +00:00
Ulrich Drepper
d4d348a9fe
random: Add __gnu_cxx::beta_distribution<> class.
...
* libstdc++-v3/include/ext/random: Add __gnu_cxx::beta_distribution<>
class.
* libstdc++-v3/include/ext/random.tcc: Add out-of-line functions for
__gnu_cxx::beta_distribution<>.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
operators/equal.cc: New file.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
operators/serialize.cc: New file.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
operators/inequal.cc: New file.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
cons/parms.cc: New file.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
cons/default.cc: New file.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
requirements/typedefs.cc: New file.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
requirements/explicit_instantiation/1.cc: New file.
From-SVN: r190954
2012-09-04 22:57:09 +00:00
Ulrich Drepper
1860430ab5
Add simd_fast_mersenne_twister_engine class.
...
* include/ext/random: New file.
* include/ext/random.tcc: New file.
* include/Makefile.am (ext_headers): Add random and random.tcc.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
operators/inequal.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
operators/equal.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
operators/serialize.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
cons/seed2.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
cons/default.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
cons/seed_seq.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
cons/copy.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
cons/seed1.cc: New file.
From-SVN: r190783
2012-08-29 18:43:08 +00:00