Benjamin Kosnik
105c6331b2
type_traits.h: New.
...
2006-09-18 Benjamin Kosnik <bkoz@redhat.com>
Peter Doerfler <gcc@pdoerfler.com>
Paolo Carlini <pcarlini@suse.de>
* include/ext/type_traits.h: New.
(__conditional_type): New.
(__numeric_traits): New.
(__add_unsigned): New.
(__remove_unsigned): New.
(__enable_if): New.
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
* include/ext/pb_ds/detail/type_utils.hpp: Use ext include,
remove duplicates.
* include/tr1/hashtable_policy.h (IF): Use __conditional_type.
(_Max_digits10): Same.
(identity): Use _Identity.
(extract1st): Use _Select1st.
* include/tr1/random (_Select): Use __conditional_type.
(_To_Unsigned_Type): Use __add_unsigned. Linebreak fixups.
* include/bits/locale_facets.tcc (__to_unsigned_type): Remove, use
__add_unsigned.
* include/tr1/random.tcc: Fixups as above.
* include/tr1/unordered_map: Same.
* include/tr1/hashtable: Same.
* include/tr1/unordered_set: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/
standard_policies.hpp: Same.
* include/ext/pb_ds/detail/standard_policies.hpp: Same.
* include/ext/pb_ds/detail/typelist/typelist_filter.hpp: Same.
* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
* include/ext/pb_ds/detail/type_utils.hpp: Same.
* include/ext/pb_ds/trie_policy.hpp: Same.
* docs/html/ext/pb_ds/string_trie_e_access_traits.html: Same.
* include/bits/cpp_type_traits.h (__enable_if): Move to ext, make
boolean argument first.
* include/bits/locale_facets.h: Fixups for __enable_if argument
and namespace switch.
* include/bits/stl_algobase.h: Same.
* include/bits/stl_algo.h: Same.
* include/bits/stl_iterator.h: Same.
* include/bits/streambuf_iterator.h: Same.
* include/debug/safe_iterator.h: Same.
* include/tr1/hashtable_policy.h: Same.
* include/tr1/cmath: Same.
* include/tr1/functional: Same.
* include/tr1/functional_iterate.h: Same.
* include/std/std_streambuf.h: Same.
* include/c_std/std_cmath.h: Same.
* testsuite/util/testsuite_tr1.h: Same.
* testsuite/util/performance/assoc/multimap_common_type.hpp: Same.
Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
Co-Authored-By: Peter Doerfler <gcc@pdoerfler.com>
From-SVN: r117024
2006-09-18 13:30:56 +00:00
Benjamin Kosnik
2e362c7474
atomicity.h: Move to...
...
2006-09-13 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/atomicity.h: Move to...
* include/ext/atomicity.h: ...here.
* include/bits/concurrence.h: Move to...
* include/ext/concurrence.h: ...here.
* include/Makefile.am (ext_headers): Additions.
(bits_headers): Subtractions.
* include/Makefile.in: Regenerate.
* include/ext/bitmap_allocator.h (_Mutex), __threads_enabled,
_Lock, _Auto_Lock): Subsume into...
* include/bits/concurrence.h (__mutex): ..this. Error check
locking and unlocking.
(lock): Uglify to...
(__scoped_lock): Use __mutex.
(__glibcxx_mutex_define_initialized): Remove.
(__glibcxx_mutex_type): Remove.
* include/tr1/boost_shared_ptr.h: Formating tweaks, adjustments.
(_Lock_policy): Move from here...
* include/ext/concurrence.h: ... to here.
(__shared_ptr_default_lock_mode): To __default_lock_policy.
(_S_lockfree): To _S_atomic.
Document.
* libsupc++/guard.cc (static_mutex): Subsume into and fixup for...
* include/ext/concurrence.h (__recursive_mutex): ...this. Error
check locking and unlocking.
* libsupc++/eh_alloc.cc: Use __scoped_lock.
* config/os/aix/atomicity.h: Fixups for include paths, mutex to
__scoped_mutex change, removal of locking defines.
* config/os/irix/atomicity.h: Same.
* config/cpu/cris/atomicity.h: Same.
* config/cpu/m68k/atomicity.h: Same.
* config/cpu/hppa/atomicity.h: Same.
* config/cpu/mips/atomicity.h: Same.
* config/cpu/sparc/atomicity.h: Same.
* config/cpu/i386/atomicity.h: Same.
* config/cpu/i486/atomicity.h: Same.
* config/cpu/sh/atomicity.h: Same.
* config/cpu/generic/atomicity_mutex/atomicity.h: Same.
* include/ext/pool_allocator.h: Same.
* include/ext/bitmap_allocator.h: Same.
* include/ext/rc_string_base.h: Same.
* include/ext/mt_allocator.h: Same.
* include/bits/locale_classes.h: Same.
* include/bits/basic_string.h: Same.
* include/bits/ios_base.h: Same.
* include/tr1/memory: Same.
* src/pool_allocator.cc: Same.
* src/mt_allocator.cc: Same.
* src/locale_init.cc: Same.
* src/ios.cc: Same.
* src/locale.cc: Same.
* src/bitmap_allocator.cc: Same.
* src/ios_init.cc: Same.
* src/debug.cc: Same.
From-SVN: r116942
2006-09-14 09:48:15 +00:00
Paolo Carlini
96b9f9a4d8
random.tcc (poisson_distribution<>::operator()): Avoid potential warnings when _IntType is unsigned.
...
2006-09-08 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random.tcc (poisson_distribution<>::operator()):
Avoid potential warnings when _IntType is unsigned.
From-SVN: r116779
2006-09-08 14:40:47 +00:00
Benjamin Kosnik
06e744948b
re PR c++/28871 (massive C++ compile time slowdown)
...
2006-09-04 Benjamin Kosnik <bkoz@redhat.com>
PR c++/28871
* include/ext/bitmap_allocator.h: Add comment for end of anonymous
namespace.
* include/ext/rope: Same.
* include/bits/cpp_type_traits.h: Same.
* include/tr1/tuple: Same.
* include/tr1/functional_iterate.h: Same.
* include/bits/cpp_type_traits.h: Revert anonymous namespace
change, use nested detail instead.
* testsuite/lib/libstdc++.exp (libstdc++_init): PCHFLAGS revert to
stdc++.h.
From-SVN: r116680
2006-09-04 15:41:18 +00:00
Paolo Carlini
a3b6119721
random (subtract_with_carry_01<>::_M_initialize_npows): New.
...
2006-08-29 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (subtract_with_carry_01<>::_M_initialize_npows):
New.
(subtract_with_carry_01<>::subtract_with_carry_01(),
subtract_with_carry_01<>::subtract_with_carry_01(unsigned long),
subtract_with_carry_01<>::subtract_with_carry_01(_Gen&)): Use it.
* include/tr1/random.tcc: Define.
* include/tr1/random (xor_combine<>::_M_initialize_max()): New.
(xor_combine<>::xor_combine(), xor_combine<>::xor_combine(const
base1_type&, const base2_type&), xor_combine<>::xor_combine(unsigned
long), xor_combine<>::xor_combine(_Gen&)): Use it.
(xor_combine<>::min, xor_combine<>::max): Adjust.
* include/tr1/random.tcc: Define.
From-SVN: r116559
2006-08-29 11:46:54 +00:00
Paolo Carlini
7849b3de89
random (bernoulli_distribution::operator()): Fix wrt generators returning integers.
...
2006-08-25 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (bernoulli_distribution::operator()): Fix
wrt generators returning integers.
(uniform_int<>::_M_call): Add.
(uniform_int<>::operator()): Use it.
* include/tr1/random (_Adaptor<>::min, _Adaptor<>::max): Add.
(_Adaptor<>::operator()): Allow for nonzero _M_g.min().
* include/tr1/random.tcc (linear_congruential<>::min, max):
Move inline...
(__mod): Move ...
* include/tr1/random: ... here.
(struct _Mod): Declare.
* include/tr1/random (struct _To_Unsigned_Type): Only declare,
move...
* include/tr1/random.tcc: ... here.
From-SVN: r116402
2006-08-25 16:02:23 +00:00
Paolo Carlini
53fdb33908
random.tcc (subtract_with_carry_01<>:: seed(_Gen&, false_type)): Fix _M_carry initialization.
...
2006-08-22 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random.tcc (subtract_with_carry_01<>::
seed(_Gen&, false_type)): Fix _M_carry initialization.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/cons/default.cc: Qualify 1 as 1UL.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/cons/gen1.cc: Likewise.
From-SVN: r116334
2006-08-22 22:57:53 +00:00
Phillip Jordan
a25ce4dbf9
added locking policy to tr1::shared_ptr<> and related classes
...
From-SVN: r116333
2006-08-22 22:34:45 +00:00
Paolo Carlini
9aa53350c3
random (class subtract_with_carry_01): Add.
...
2006-08-22 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (class subtract_with_carry_01): Add.
* include/tr1/random.tcc (subtract_with_carry_01<>::
seed(unsigned long), subtract_with_carry_01<>::
seed(_Gen&, false_type), subtract_with_carry_01<>::
operator(), operator<<(std::basic_ostream<>&, const
subtract_with_carry_01<>&), operator>>(std::basic_istream<>&,
subtract_with_carry_01<>&)): Define.
* testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc:
New.
* testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc:
Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry_01/cons/seed1.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry_01/cons/seed2.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry_01/cons/default.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry_01/cons/gen1.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry_01/requirements/typedefs.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry_01/operators/equal.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry_01/operators/not_equal.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry_01/operators/serialize.cc: Likewise.
* docs/html/ext/howto.html: Add two implemented TR1 issues.
* include/tr1/random.tcc (struct _To_Unsigned_Type): Move...
* include/tr1/random: ... here.
(class subtract_with_carry): Use it everywhere.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/cons/seed1.cc: Qualify 1 as 1UL.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/cons/seed2.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/cons/default.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/cons/gen1.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/requirements/typedefs.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/operators/equal.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/operators/not_equal.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/operators/serialize.cc: Likewise.
From-SVN: r116327
2006-08-22 18:07:55 +00:00
Paolo Carlini
96ddac7425
random (gamma_distribution<>::_M_initialize, [...]): Add.
...
2006-08-20 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (gamma_distribution<>::_M_initialize,
gamma_distribution<>::_M_l_d): Add.
(gamma_distribution<>::gamma_distribution(const result_type&),
operator>>(std::basic_istream<>&, gamma_distribution&)): Use it.
include/tr1/random.tcc (gamma_distribution<>::_M_initialize):
Define.
(gamma_distribution<>::operator()): Adjust.
* include/tr1/random (geometric_distribution<>::_M_initialize): Add.
(geometric_distribution<>::geometric_distribution(const _RealType&),
operator>>(std::basic_istream<>&, geometric_distribution&)): Use it.
From-SVN: r116273
2006-08-20 16:05:05 +00:00
Paolo Carlini
42031254bf
random (class binomial_distribution<>): Add.
...
2006-08-18 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (class binomial_distribution<>): Add.
* include/tr1/random.tcc (binomial_distribution<>::operator(),
operator<<(std::basic_ostream<>&, const binomial_distribution<>&),
operator>>(std::basic_istream<>&, binomial_distribution<>&,
binomial_distribution<>::_M_waiting(), binomial_distribution<>::
_M_initialize()): Define.
* testsuite/tr1/5_numerical_facilities/random/binomial_distribution/
requirements/typedefs.cc: New.
* include/tr1/random (geometric_distribution<>::
geometric_distribution(const _RealType&)): Fix DEBUG_ASSERT
limits.
* include/tr1/random (poisson_distribution): Add normal_distribution
member, adjust consistently; minor tweaks and rearrangements of the
arithmetic.
(operator>>(std::basic_istream<>&, poisson_distribution<>&)): Move
out of line.
* include/tr1/random.tcc: Adjust.
* include/tr1/random.tcc (normal_distribution<>::operator()): Minor
tweaks.
From-SVN: r116245
2006-08-18 17:15:43 +00:00
Paolo Carlini
482e4739cd
random (poisson_distribution<>::_M_initialize): Add.
...
2006-08-15 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (poisson_distribution<>::_M_initialize): Add.
(poisson_distribution<>::poisson_distribution(const _RealType&):
Use it.
(operator>>(std::basic_istream<>&, poisson_distribution<>&)):
Likewise.
(poisson_distribution<>::_M_large): Remove.
* include/tr1/random.tcc (poisson_distribution<>::_M_initialize):
Define.
(operator<<(std::basic_ostream<>&, const poisson_distribution<>&)):
Do not output the constants.
* include/tr1/random (operator>>(std::basic_istream<>&,
gamma_distribution&)): Minor tweak.
* include/tr1/random.tcc (poisson_distribution<>::operator()):
Minor tweak.
* include/tr1/random: Consistently, all data members private.
From-SVN: r116155
2006-08-15 15:11:24 +00:00
Paolo Carlini
64c23908ee
random.tcc (mersenne_twister<>::operator()): Revert last change (per gcc-patches/2006-08/msg00484.html).
...
2006-08-15 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random.tcc (mersenne_twister<>::operator()): Revert
last change (per gcc-patches/2006-08/msg00484.html).
From-SVN: r116151
2006-08-15 09:08:31 +00:00
Paolo Carlini
bbddd5d0c2
random (class poisson_distribution<>): Add.
...
2006-08-14 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (class poisson_distribution<>): Add.
* include/tr1/random.tcc (poisson_distribution<>::operator(),
operator<<(std::basic_ostream<>&, const poisson_distribution<>&),
operator>>(std::basic_istream<>&, poisson_distribution<>&,
poisson_distribution<>::poisson_distribution(const _RealType&)):
Define.
* testsuite/tr1/5_numerical_facilities/random/poisson_distribution/
requirements/typedefs.cc: New.
* include/tr1/random.tcc (mersenne_twister<>::operator()): Tweak
a bit for efficiency.
* include/tr1/random.tcc (operator<<(std::basic_ostream<>&,
const normal_distribution<>&), operator>>(std::basic_istream<>&,
normal_distribution<>&)): Do not output _M_saved unnecessarily.
* include/tr1/random: Trivial formatting fixes.
* include/tr1/cmath: Likewise.
From-SVN: r116149
2006-08-15 02:28:45 +00:00
Paolo Carlini
4a93bc5db2
random.tcc (gamma_distribution<>::operator()): Fixes from the Errata of Devroye's book.
...
2006-08-10 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random.tcc (gamma_distribution<>::operator()): Fixes
from the Errata of Devroye's book.
From-SVN: r116061
2006-08-10 14:38:11 +00:00
Benjamin Kosnik
b82f782bfb
PR libstdc++/19664 round 3
...
2006-07-27 Benjamin Kosnik <bkoz@wells.artheist.org>
PR libstdc++/19664 round 3
* include/Makefile.am (tr1_headers): Add hashtable_policy.h.
* include/Makefile.in: Regenerate.
* include/tr1/hashtable: Move policy classes into...
* include/tr1/hashtable_policy.h: ... this. New.
* src/globals_locale.cc: Move contents....
* src/locale_init.cc: ... to here, put in anonymous namespace.
* src/Makefile.am: Remove globals_locale.cc.
* src/Makefile.in: Regenerate.
* src/locale.cc: Convert __gnu_internal to anonymous namespace.
* src/debug.cc: Same.
* src/ext-inst.cc: Same.
* src/mt_allocator.cc: Same.
* src/pool_allocator.cc: Same.
* include/tr1/random: Convert std::tr1::_Private to anonymous
namespace.
* include/tr1/random.tcc: Same.
* include/tr1/hashtable: Move ::Internal to std::tr1::detail and
enclose bits that can actually be internal in in anonymous
namespace.
* include/tr1/unordered_set: Adjust explicit qualifications for
namespace changes.
* include/tr1/unordered_map: Same.
* include/tr1/cmath: Convert __gnu_internal to nested detail namespace.
* include/bits/cpp_type_traits.h: Move __type_type into anonymous
namespace.
* include/ext/rope: Change _Rope_constants to anonymous namespace.
* include/ext/ropeimpl.h: Same.
* src/ext-inst.cc: Same.
From-SVN: r115790
2006-07-28 04:57:34 +00:00
Paolo Carlini
a0cbafebd7
cinttypes: Simply protect everything with _GLIBCXX_USE_C99_INTTYPES_TR1.
...
2006-07-24 Paolo Carlini <pcarlini@suse.de>
* include/tr1/cinttypes: Simply protect everything with
_GLIBCXX_USE_C99_INTTYPES_TR1.
* include/tr1/cfenv: Likewise with _GLIBCXX_USE_C99_FENV_TR1.
* include/tr1/cstdint: Likewise with _GLIBCXX_USE_C99_STDINT_TR1.
From-SVN: r115715
2006-07-24 12:30:28 +00:00
Benjamin Kosnik
76b4581d09
random: Make include guards consistent.
...
2006-07-21 Benjamin Kosnik <bkoz@redhat.com>
* include/tr1/random: Make include guards consistent.
* include/tr1/unordered_map: Same.
* include/tr1/hashtable: Same.
* include/tr1/unordered_set: Same.
From-SVN: r115656
2006-07-21 23:54:41 +00:00
Paolo Carlini
8d6bd4a791
random (minstd_rand0, [...]): Use unsigned long as implementation-defined type.
...
2006-07-14 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (minstd_rand0, minstd_rand, ranlux3, ranlux4):
Use unsigned long as implementation-defined type.
From-SVN: r115450
2006-07-14 17:21:03 +00:00
Paolo Carlini
8c2e5f361c
random.tcc (struct _To_Unsigned_Type): Add.
...
2006-07-14 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random.tcc (struct _To_Unsigned_Type): Add.
(subtract_with_carry<>::seed(_Gen&, false_type)): Use an
unsigned type in the loop, fix factor multiplier, take g
invocations modulo 2^32.
* include/tr1/random.tcc (subtract_with_carry<>::
seed(unsigned long)): Fix value == 0 special case.
* include/tr1/random (struct _Shift): Fix for large shifts.
From-SVN: r115439
2006-07-14 12:55:15 +00:00
Paolo Carlini
ad084e9d07
re PR libstdc++/28344 (Use of __alpha in tr1/random breaks Tru64 UNIX bootstrap)
...
2006-07-11 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28344
* include/tr1/random (gamma_distribution<>::
gamma_distribution(const result_type&)): Don't use __alpha as
parameter name, a predefined macro on Alpha systems.
From-SVN: r115355
2006-07-11 22:08:56 +00:00
Paolo Carlini
33251a2dc3
random (class gamma_distribution<>): Add.
...
2006-07-06 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (class gamma_distribution<>): Add.
* include/tr1/random.tcc (gamma_distribution<>::operator(),
operator<<(std::basic_ostream<>&, const gamma_distribution<>&)):
Define.
* testsuite/tr1/5_numerical_facilities/random/gamma_distribution/
requirements/typedefs.cc: New.
From-SVN: r115236
2006-07-06 23:30:14 +00:00
Paolo Carlini
3329fcdc38
random (_Adaptor<>::operator()()): Cast 1 to result_type.
...
2006-07-04 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (_Adaptor<>::operator()()): Cast 1 to
result_type.
(variate_generator<>::operator()(),
variate_generator<>::operator()(_Tp)): Inline.
* include/tr1/random: Minor cosmetic changes.
From-SVN: r115179
2006-07-04 15:42:32 +00:00
Paolo Carlini
bfe3e83159
random (operator<<(std::basic_ostream<>&, const linear_congruential<>&), [...]): Redo per TR1 specs; move out of line...
...
2006-06-25 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (operator<<(std::basic_ostream<>&,
const linear_congruential<>&), operator>>(std::basic_istream<>&,
linear_congruential<>&), operator<<(std::basic_ostream<>&,
const mersenne_twister<>&), operator>>(std::basic_istream<>&,
mersenne_twister<>&), operator<<(std::basic_ostream<>&,
const subtract_with_carry<>&), operator>>(std::basic_istream<>&,
subtract_with_carry<>&), operator<<(std::basic_ostream<>&,
const discard_block<>&), operator>>(std::basic_istream<>&,
discard_block<>&), operator<<(std::basic_ostream<>&,
const xor_combine<>&), operator>>(std::basic_istream<>&,
xor_combine<>&), operator<<(std::basic_ostream<>&,
const uniform_int<>&), operator>>(std::basic_istream<>&,
uniform_int<>&), operator<<(std::basic_ostream<>&,
const bernoulli_distribution&), operator<<(std::basic_ostream<>&,
const geometric_distribution<>&), operator<<(std::basic_ostream<>&,
const uniform_real<>&), operator>>(std::basic_istream<>&,
uniform_real<>&), operator<<(std::basic_ostream<>&,
const exponential_distribution<>&), operator<<(std::basic_ostream<>&,
const normal_distribution<>&), operator>>(std::basic_istream<>&,
normal_distribution<>&)): Redo per TR1 specs; move out of line...
* include/tr1/random.tcc: ... here.
From-SVN: r115003
2006-06-26 03:08:48 +00:00
Paolo Carlini
7f09067fef
random (class normal_distribution<>): Add.
...
2006-06-24 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (class normal_distribution<>): Add.
* include/tr1/random.tcc (normal_distribution<>::operator()): Define.
* include/tr1/random.tcc (struct _Max): Remove, "inline" in the
only user, mersenne_twister<>::max().
* include/tr1/random.tcc (struct _Shift): Move...
* include/tr1/random: ... here.
* include/tr1/random.tcc (linear_congruential<>::
linear_congruential(unsigned long), linear_congruential<>::
linear_congruential(_Gen&), mersenne_twister<>::max())): Move inline...
* include/tr1/random: ... here.
* include/tr1/random (exponential_distribution<>::
exponential_distribution(const result_type&)): Add missing
_GLIBCXX_DEBUG_ASSERT.
* testsuite/tr1/5_numerical_facilities/random/
exponential_distribution/requirements/typedefs.cc: New.
* testsuite/tr1/5_numerical_facilities/random/
normal_distribution/requirements/typedefs.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
bernoulli_distribution/requirements/typedefs.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
geometric_distribution/requirements/typedefs.cc: Likewise.
From-SVN: r114982
2006-06-25 01:23:17 +00:00
Paolo Carlini
bcbdbf43ff
random.tcc (struct _Private::_Mod_w<>, [...]): Remove.
...
2006-06-20 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random.tcc (struct _Private::_Mod_w<>,
_Private::__mod_w<>): Remove.
(struct _Private::_Shift<>): New.
(struct _Private::_Max_w<>): Rename to _Max, use the latter.
(mersenne_twister<>::seed(unsigned long), seed(_Gen&, false_type),
max()): Adjust.
From-SVN: r114826
2006-06-20 19:41:51 +00:00
Paolo Carlini
3c618f8732
random (xor_combine<>::operator<<): Fix typo.
...
2006-06-19 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (xor_combine<>::operator<<): Fix typo.
* include/tr1/random (bernoulli_distribution::min(),
bernoulli_distribution::max(), geometric_distribution<>::min(),
geometric_distribution<>::max()): Remove.
* include/tr1/random (geometric_distribution<>::operator()):
Simplify formula.
* include/tr1/random: Minor cosmetic changes.
* testsuite/tr1/5_numerical_facilities/random/discard_block/
operators/equal.cc: New.
* testsuite/tr1/5_numerical_facilities/random/discard_block/
operators/not_equal.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/discard_block/
operators/serialize.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/xor_combine/
operators/equal.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/xor_combine/
operators/not_equal.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/xor_combine/
operators/serialize.cc: Likewise.
From-SVN: r114777
2006-06-19 16:03:07 +00:00
Paolo Carlini
0934c5effc
random (uniform_real<>::uniform_real(_RealType, _RealType)): Implement.
...
2006-06-16 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (uniform_real<>::uniform_real(_RealType,
_RealType)): Implement.
(uniform_real<>::min()): Likewise.
(uniform_real<>::max()): Likewise.
(uniform_real<>::reset()): Likewise.
* include/tr1/random (class uniform_real<>): Minor cosmetic tweaks.
From-SVN: r114730
2006-06-16 23:04:51 +00:00
Paolo Carlini
f28e0f4526
random.tcc (mersenne_twister<>::operator()()): Reload the last position of the _M_x vector too.
...
2006-06-15 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random.tcc (mersenne_twister<>::operator()()):
Reload the last position of the _M_x vector too.
From-SVN: r114695
2006-06-16 00:04:43 +00:00
Paolo Carlini
e4ec6e1983
random (class xor_combine): Fix result_type typedef.
...
2006-06-15 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (class xor_combine): Fix result_type typedef.
* testsuite/tr1/5_numerical_facilities/random/xor_combine/
cons/default.cc: New.
* testsuite/tr1/5_numerical_facilities/random/xor_combine/
requirements/typedefs.cc: Tweak.
* include/tr1/random: Minor cosmetic changes.
From-SVN: r114676
2006-06-15 10:19:06 +00:00
Paolo Carlini
410fce929b
random (random_device::random_device(const std::string& = "/dev/urandom")): Open in binary mode.
...
2006-06-09 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (random_device::random_device(const
std::string& = "/dev/urandom")): Open in binary mode.
* include/tr1/random (random_device::random_device(const
std::string& = "rand")): Use mersenne_twister.
(random_device::_M_strtoul): New.
(random_device::operator()()): Update.
* include/tr1/random: Minor stylistic changes, consistently
qualify with std::.
From-SVN: r114539
2006-06-10 03:39:38 +00:00
Paolo Carlini
d8bc9819d9
acinclude.m4 ([GLIBCXX_CHECK_RANDOM_TR1]): New, check for the availability of "/dev/random" and "/dev/urandom".
...
2006-06-09 Paolo Carlini <pcarlini@suse.de>
* acinclude.m4 ([GLIBCXX_CHECK_RANDOM_TR1]): New, check for
the availability of "/dev/random" and "/dev/urandom".
* configure.ac: Use it.
* include/tr1/random (random_device): Implement, a fall-back for
systems not providing "/dev/random" and "/dev/urandom" included.
* testsuite/tr1/5_numerical_facilities/random/random_device/
cons/default.cc: New.
* testsuite/tr1/5_numerical_facilities/random/random_device/
cons/token.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/random_device/
requirements/typedefs.cc: Likewise.
* config.h.in: Regenerate.
* configure: Likewise.
* testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
cons/gen1.cc: Minor tweak, add bool test.
From-SVN: r114529
2006-06-09 23:37:28 +00:00
Paolo Carlini
d95c1c488a
random (mersenne_twister<>::operator==, [...]): Implement.
...
2006-06-06 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (mersenne_twister<>::operator==,
operator!=, operator<<, operator>>): Implement.
* testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
operators/equal.cc: New.
* testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
operators/not_equal.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
operators/serialize.cc: Likewise.
* include/tr1/random (subtract_with_carry<>::operator==): Fix,
compare the whole state; use std::equal.
* include/tr1/random: Minor formatting and style changes.
From-SVN: r114459
2006-06-07 01:50:09 +00:00
Paolo Carlini
281864aaf7
random: Trivial uglification fixes.
...
2006-06-06 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random: Trivial uglification fixes.
* include/tr1/random.tcc: Likewise.
* include/tr1/random (subtract_with_carry<>::
subtract_with_carry(_IntType)): Fix parameter type to unsigned long.
(subtract_with_carry<>::seed(_IntType)): Likewise.
* include/tr1/random.tcc (subtract_with_carry<>::seed(_IntType)):
Adjust.
From-SVN: r114440
2006-06-06 17:37:33 +00:00
Paolo Carlini
36ac3ed6b7
random (mersenne_twister<>::seed()): Fix per tr1/5.1.4.2, p8.
...
2006-06-05 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (mersenne_twister<>::seed()): Fix per
tr1/5.1.4.2, p8.
* include/tr1/random.tcc (mod_w): Add.
(mersenne_twister<>::seed(unsigned long)): Fix per tr1/5.1.4.2, p9.
(mersenne_twister<>::seed(Gen&, false_type)): Adjust to use mod_w.
* testsuite/tr1/5_numerical_facilies/random/mt19937.cc: Fix
expected result per tr1/5.1.5, p2.
* testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
cons/default.cc: Adjust.
* include/tr1/random (exponential_distribution<>::operator()()): Fix.
From-SVN: r114412
2006-06-05 21:23:59 +00:00
Paolo Carlini
86ad0dd600
[multiple changes]
...
2006-06-05 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random.tcc (Max::value()): Cast 1 to Tp(1) and
adjust shift count to w; rename as Max_w.
(struct Mod_w): New.
(mersenne_twister<>::seed(Gen&, false_type): Use the latter.
(mersenne_twister<>::operator()()): Fix ~0ul to ~_UInt().
* testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
cons/default.cc: Fix ~0ul to 2^32-1.
* testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
cons/gen1.cc: Likewise.
2006-06-05 Stephen M. Webb <stephen.webb@bregmasoft.com>
* include/tr1/random: New.
* include/tr1/random.tcc: Likewise.
* include/Makefile.am: Add.
* testsuite/tr1/5_numerical_facilies/random/ranlux3.cc: New.
* testsuite/tr1/5_numerical_facilies/random/ranlux4.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/mt19937.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/variate_generator/
requirements/typedefs.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
cons/seed1.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
cons/seed2.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
cons/default.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
cons/gen1.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
requirements/typedefs.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
operators/equal.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
operators/not_equal.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
operators/serialize.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/uniform_real/
requirements/typedefs.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/discard_block/
requirements/requirements.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/linear_congruential/
cons/seed1.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/linear_congruential/
cons/seed2.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/linear_congruential/
cons/default.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/linear_congruential/
cons/gen1.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/linear_congruential/
requirements/non_uint_neg.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/linear_congruential/
requirements/typedefs.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/linear_congruential/
operators/equal.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/linear_congruential/
operators/not_equal.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/linear_congruential/
operators/serialize.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/xor_combine/
requirements/typedefs.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/minstd_rand.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/minstd_rand0.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/uniform_int/
cons/range.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/uniform_int/
cons/default.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/uniform_int/
cons/range_neg.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/uniform_int/
requirements/typedefs.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
cons/seed1.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
cons/seed2.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
cons/default.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
cons/gen1.cc: Likewise.
* testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
requirements/typedefs.cc: Likewise.
* include/Makefile.in: Regenerate.
* testsuite/tr1/headers.cc: Update.
From-SVN: r114384
2006-06-05 07:33:18 +00:00
Paolo Carlini
b7ee72de2d
re PR libstdc++/24704 (__gnu_cxx::__exchange_and_add is called even for single threaded applications)
...
2006-05-24 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24704
* include/bits/atomicity.h (__exchange_and_add_single,
__atomic_add_single): New, single thread versions of the atomic
functions.
(__exchange_and_add_dispatch, __atomic_add_dispatch): New,
depending on __GTHREADS and __gthread_active_p() dispatch either
to the above or to the existing atomic functions.
* include/ext/pool_allocator.h: Update callers.
* include/ext/rc_string_base.h: Likewise.
* include/bits/locale_classes.h: Likewise.
* include/bits/basic_string.h: Likewise.
* include/bits/ios_base.h: Likewise.
* include/tr1/boost_shared_ptr.h: Likewise.
* src/ios.cc: Likewise.
* src/locale.cc: Likewise.
* src/ios_init.cc: Likewise.
From-SVN: r114044
2006-05-24 16:37:42 +00:00
Paolo Carlini
b9cebd5026
hashtable (hashtable<>::m_find): Remove; update callers.
...
2006-05-17 Paolo Carlini <pcarlini@suse.de>
* include/tr1/hashtable (hashtable<>::m_find): Remove; update callers.
* include/tr1/hashtable (map_base<>::operator[]): Move out of line.
* include/tr1/hashtable (hashtable<>::m_insert(const value_type&,
std::tr1::false_type)): Avoid memory leak risk for new_node.
From-SVN: r113868
2006-05-17 16:28:01 +00:00
Paolo Carlini
f99b2be1d3
hashtable (hashtable<>::m_find, [...]): Add.
...
2006-05-15 Paolo Carlini <pcarlini@suse.de>
* include/tr1/hashtable (hashtable<>::m_find, m_insert_bucket): Add.
(hashtable<>::find, m_insert(const value_type&, std::tr1::true_type),
map_base<>::operator[]): Use the above.
* testsuite/performance/23_containers/insert/unordered_map_array.cc:
New.
* include/tr1/hashtable (hashtable<>::find_node,
insert(const value_type&, ...), erase_node): Rename to m_*, adjust
callers.
* include/tr1/hashtable: Minor cosmetic changes.
From-SVN: r113800
2006-05-15 21:07:36 +00:00
Peter Doerfler
6c4e9c60ad
hashtable (identity<>::operator(), [...]): Return by const ref.
...
2006-05-13 Peter Doerfler <gcc@pdoerfler.com>
* include/tr1/hashtable (identity<>::operator(),
extract1st<>::operator()): Return by const ref.
From-SVN: r113737
2006-05-13 10:49:40 +00:00
Paolo Carlini
0fc125eaee
hashtable (hashtable_iterator<>::hashtable_iterator(), [...]): Add.
...
2006-05-10 Paolo Carlini <pcarlini@suse.de>
Peter Doerfler <gcc@pdoerfler.com>
* include/tr1/hashtable (hashtable_iterator<>::hashtable_iterator(),
hashtable_const_iterator<>::hashtable_const_iterator(),
node_iterator<>::node_iterator(),
node_const_iterator<>::node_const_iterator()): Add.
(node_iterator<>::node_iterator(hash_node<>*),
node_const_iterator<>::node_const_iterator(hash_node<>*)): Tweak,
remove default.
* testsuite/tr1/6_containers/unordered/hashtable/
iterators_default_constructor.c: New.
Co-Authored-By: Peter Doerfler <gcc@pdoerfler.com>
From-SVN: r113681
2006-05-10 18:37:54 +00:00
Paolo Carlini
e716a54401
type_traits (integral_constant<>::value): Define.
...
2006-05-07 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits (integral_constant<>::value): Define.
* testsuite/tr1/4_metaprogramming/helper_classes/static_definition.cc:
New.
From-SVN: r113605
2006-05-07 16:52:41 +00:00
Paolo Carlini
d9a4b9eecb
re PR libstdc++/26424 (tr1/unordered vs 64-bit machines)
...
2006-04-19 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/26424
* include/tr1/hashtable (X<>::primes): Extend for 64-bit machines.
(X<>::n_primes): Adjust.
(prime_rehash_policy::next_bkt, bkt_for_elements, need_rehash): Adjust.
From-SVN: r113100
2006-04-19 22:58:23 +00:00
Paolo Carlini
9a7ab578fb
cmath: Add atan2 and pow bits; add using declarations.
...
2006-03-10 Paolo Carlini <pcarlini@suse.de>
* include/tr1/cmath: Add atan2 and pow bits; add using declarations.
* include/tr1/math.h: Add using declarations.
* include/tr1/complex: Add using declarations.
* testsuite/tr1/8_c_compatibility/cmath/functions.cc: Fully
qualify calls.
* testsuite/tr1/8_c_compatibility/cmath/overloads.cc: Likewise;
add atan2 and pow bits.
* testsuite/tr1/8_c_compatibility/complex/overloads_float.cc: Likewise.
* testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Likewise;
adjust polar bits.
* acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add checks for double_t
and float_t typedefs.
* include/tr1/cmath: Add double_t and float_t.
* testsuite/tr1/8_c_compatibility/cmath/types.cc: New.
* include/tr1/ctgmath: New.
* include/tr1/tgmath.h: Likewise.
* include/Makefile.am: Add.
* testsuite/tr1/headers.cc: Update.
* include/Makefile.in: Regenerate.
* configure: Likewise.
* docs/html/ext/tr1.html: Update.
From-SVN: r111931
2006-03-10 13:24:57 +00:00
Paolo Carlini
3577e3eafb
cmath: Add C99 overloads.
...
2006-03-07 Paolo Carlini <pcarlini@suse.de>
* include/tr1/cmath: Add C99 overloads.
* include/tr1/common.h (struct __promote_3): Add.
* testsuite/tr1/8_c_compatibility/cmath/overloads.cc: New.
* testsuite/tr1/8_c_compatibility/cmath/functions.cc: Tweak.
* testsuite/tr1/8_c_compatibility/complex/overloads_float.cc: Likewise.
From-SVN: r111813
2006-03-07 16:53:44 +00:00
Paolo Carlini
a9afbfd45b
2006-02-27 Paolo Carlini <pcarlini@suse.de>
...
* Add <tr1/cstdbool> and <tr1/stdbool.h>, missing from
the last commit.
From-SVN: r111472
2006-02-27 09:40:31 +00:00
Paolo Carlini
1e41a98ca5
cmath: Add templates (8.16.3).
...
2006-02-26 Paolo Carlini <pcarlini@suse.de>
* include/tr1/cmath: Add templates (8.16.3).
* include/tr1/cstbool: New.
* include/tr1/stdbool.h: Likewise.
* include/Makefile.am: Add.
* testsuite/tr1/8_c_compatibility/cmath/templates.cc: New.
* testsuite/tr1/headers.cc: Update.
* acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <stdbool.h> check.
* docs/html/ext/tr1.html: Update.
* include/Makefile.in: Regenerate.
* config.h.in: Likewise.
* configure: Likewise.
From-SVN: r111456
2006-02-26 18:42:29 +00:00
Paolo Carlini
ffe7d885e0
array (array<>::swap, assign): Implement.
...
2006-02-24 Paolo Carlini <pcarlini@suse.de>
* include/tr1/array (array<>::swap, assign): Implement.
* include/tr1/array (operator==, operator!=, operator<,
operator>, operator>=, operator<=, swap, get): Inline.
* testsuite/tr1/6_containers/array/requirements/member_swap.cc: New.
* testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise.
* testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc:
Likewise.
From-SVN: r111424
2006-02-24 19:13:49 +00:00
Paolo Carlini
f8190ffc6c
re PR libstdc++/26132 (tr1/hashtable: rehash not implemented)
...
2006-02-22 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/26132
* include/tr1/hashtable (hashtable<>::rehash): Define.
* testsuite/tr1/6_containers/unordered/hashtable/26132.cc: New.
* include/tr1/hashtable: Trivial formatting and stylistic fixes.
* testsuite/tr1/headers.cc: remove <tr1/hashtable>, not a tr1 header,
only an implementation detail.
From-SVN: r111366
2006-02-22 17:05:58 +00:00
Paolo Carlini
03ba64bb82
hashtable: Trivial formatting fixes.
...
2006-02-21 Paolo Carlini <pcarlini@suse.de>
* include/tr1/hashtable: Trivial formatting fixes.
From-SVN: r111355
2006-02-22 00:42:04 +00:00