Paolo Carlini
8975fa18ad
utility (tuple_size<std::pair<> >::value): Provide definition.
...
2006-10-30 Paolo Carlini <pcarlini@suse.de>
* include/tr1/utility (tuple_size<std::pair<> >::value): Provide
definition.
From-SVN: r118207
2006-10-30 23:23:44 +00:00
Paolo Carlini
c8bf5b7c54
tuple_iterate.h (tuple_size<tuple<> >::value): Provide definition.
...
2006-10-30 Paolo Carlini <pcarlini@suse.de>
* include/tr1/tuple_iterate.h (tuple_size<tuple<> >::value): Provide
definition.
* include/tr1/functional (is_bind_expression<>::value,
is_placeholder<>::value, + various partial specializations): Likewise.
* include/tr1/array (tuple_size<array<> >::value): Likewise.
From-SVN: r118203
2006-10-30 22:22:38 +00:00
Paolo Carlini
a8db47cb58
re PR libstdc++/29520 (tr1: discrete_distributions vs large floating point values)
...
2006-10-29 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/29520
* include/tr1/random (geometric_distribution<>::
operator()(_UniformRandomNumberGenerator&)): Only declare.
* include/tr1/random.tcc (geometric_distribution<>::
operator()(_UniformRandomNumberGenerator&),
poisson_distribution<>::operator()(_UniformRandomNumberGenerator&),
binomial_distribution<>::operator()(_UniformRandomNumberGenerator&)):
Reject candidate floating point values not convertible to the
result_type.
From-SVN: r118135
2006-10-29 10:49:07 +00:00
Paolo Carlini
e7457c3eac
array (array<>::_M_at): New.
...
2006-10-28 Paolo Carlini <pcarlini@suse.de>
* include/tr1/array (array<>::_M_at): New.
(array<>::at): Fix off-by-one bug, use the above.
* testsuite/tr1/6_containers/array/element_access/
at_out_of_range.cc: Adjust.
* include/tr1/array (class array<>): Remove non-conforming default
for the second parameter.
* include/ext/array_allocator.h: Adjust.
* include/tr1/array (array<>::front, array<>::back): Do not return
a reference to memory not belonging to the array when _Nm == 0.
From-SVN: r118114
2006-10-28 22:02:44 +00:00
Benjamin Kosnik
4d79381119
random.tcc: Fixup long line.
...
2006-10-17 Benjamin Kosnik <bkoz@redhat.com>
* include/tr1/random.tcc: Fixup long line.
From-SVN: r117825
2006-10-17 12:53:40 +00:00
Benjamin Kosnik
46db415941
re PR libstdc++/28514 (libstdc++ vs. anonymous namespaces)
...
2006-10-17 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/28514
* include/bits/cpp_type_traits.h (__detail): Uglify namespace.
* include/ext/rope: Remove global-scope anonymous namespace, use
nested __detail. Fixup resulting formatting issues.
* include/ext/ropeimpl.h: Same.
* include/tr1/hashtable_policy.h: Remove anonymous namespace
nesting for __detail.
* include/tr1/random: Revert anonymous namespace to nested
__detail namespace.
* include/tr1/random.tcc: Same.
* src/ext-inst.cc: Fixups for above.
From-SVN: r117824
2006-10-17 11:56:21 +00:00
Douglas Gregor
499c96f56b
Makefile.am (tr1_headers): Add new tuple_defs.h.
...
2006-10-16 Douglas Gregor <doug.gregor@gmail.com>
* include/Makefile.am (tr1_headers): Add new tuple_defs.h.
* include/Makefile.in (tr1_headers): Regenerate.
* include/tr1/tuple (tuple): Move declaration to tuple_defs.h.
(get): Ditto.
(operator==): Ditto.
(operator<): Ditto.
(operator!=): Ditto.
(operator>): Ditto.
(operator<=): Ditto.
(operator>=): Ditto.
(__stripped_tuple_type): Ditto.
Include tuple.defs.h
* include/tr1/tuple_iterate.h (tuple): Use
_GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS_UNNAMED macro instead of 10
"typename"s.
(tuple_element): Use _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS and
_GLIBCXX_TYPLE_ALL_TEMPLATE_ARGS instead of 10
parameters/arguments.
* include/tr1/tuple_defs.h: New header, contains declarations and
definitions for the tuple template with all arguments.
* include/tr1/repeat.h (_GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS): New.
(_GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS_UNNAMED): New.
(_GLIBCXX_TUPLE_ALL_TEMPLATE_ARGS): New.
(_GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS): New.
(_GLIBCXX_TEMPLATE_ARGS_STRIPPED): New.
* scripts/gen_includers.pl: Update.
* scripts/gen_includers2.pl: New.
From-SVN: r117790
2006-10-16 19:08:22 +00:00
Paolo Carlini
276116fdcc
random (xor_combine<>::_M_initialize_max_aux): New.
...
2006-10-01 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (xor_combine<>::_M_initialize_max_aux): New.
(xor_combine<>::operator()()): Tweak per N2079.
* include/tr1/random.tcc (xor_combine<>::_M_initialize_max_aux):
Define.
(xor_combine<>::_M_initialize_max): Use it.
* testsuite/tr1/5_numerical_facilities/random/xor_combine/
cons/default.cc: Adjust.
* docs/html/ext/tr1.html: Adjust.
From-SVN: r117353
2006-10-02 00:12:50 +00:00
Paolo Carlini
4553813629
boost_shared_ptr.h: Use __atomic_add_dispatch and __exchange_and_add_dispatch everywhere.
...
2006-09-28 Paolo Carlini <pcarlini@suse.de>
* include/tr1/boost_shared_ptr.h: Use __atomic_add_dispatch and
__exchange_and_add_dispatch everywhere.
From-SVN: r117280
2006-09-28 12:57:47 +00:00
Howard Hinnant
21c9e2b609
re PR libstdc++/29224 (-Wshadow causing warning in <tr1/functional>)
...
2006-09-26 Howard Hinnant <hhinnant@apple.com>
PR libstdc++/29224
* include/tr1/functional_iterate.h: Avoid -Wshadow warnings.
From-SVN: r117222
2006-09-26 00:59:37 +00:00
Paolo Carlini
c8bd30ddb3
boost_shared_ptr.h (shared_ptr<>::shared_ptr(const __shared_ptr<>&), [...]): Remove.
...
2006-09-24 Paolo Carlini <pcarlini@suse.de>
* include/tr1/boost_shared_ptr.h (shared_ptr<>::shared_ptr(const
__shared_ptr<>&), shared_ptr(const __weak_ptr<>&),
shared_ptr(const __shared_ptr<>&, __static_cast_tag),
shared_ptr(const __shared_ptr<>&, __const_cast_tag),
shared_ptr(const __shared_ptr<>&, __dynamic_cast_tag),
weak_ptr<>::weak_ptr(const __shared_ptr<>&), weak_ptr(const
__weak_ptr<>&)): Remove.
(shared_ptr<>::shared_ptr(const shared_ptr<>&),
shared_ptr(const weak_ptr<>&), shared_ptr(const shared_ptr<>&,
__static_cast_tag), shared_ptr(const shared_ptr<>&,
__const_cast_tag), shared_ptr(const shared_ptr<>&,
__dynamic_cast_tag), static_pointer_cast(const shared_ptr<>&),
const_pointer_cast(const shared_ptr<>&), dynamic_pointer_cast(const
shared_ptr<>&), weak_ptr<>::weak_ptr(const shared_ptr<>&),
weak_ptr(const weak_ptr<>&), weak_ptr<>::lock(),
__enable_shared_from_this_helper(const __shared_count<>&, const
enable_shared_from_this<>*, const _Tp2*)): Add.
(class enable_shared_from_this): Add.
* testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/
1.cc: New.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/casts/1.cc:
Likewise.
* testsuite/tr1/2_general_utilities/memory/weak_ptr/lock/1.cc:
Likewise.
* include/tr1/boost_shared_ptr.h: Further formatting and
uglification fixes.
From-SVN: r117184
2006-09-24 19:42:34 +00:00
Paolo Carlini
dcd400b56f
type_traits (add_reference): Robustify vs reference to void.
...
2006-09-22 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits (add_reference): Robustify vs
reference to void.
* testsuite/tr1/4_metaprogramming/reference_modifications/
add_reference.cc: Add test.
* include/tr1/memory: include <tr1/type_traits>.
* include/tr1/boost_shared_ptr.h (__shared_ptr<>::operator*):
Use add_reference instead.
* testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/
explicit_instantiation/1.cc: New.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/
explicit_instantiation/1.cc: Likewise.
* testsuite/tr1/2_general_utilities/memory/weak_ptr/
explicit_instantiation/1.cc: Likewise.
* testsuite/util/testsuite_tr1.h: Tweak; avoid empty enum.
* include/tr1/type_traits_fwd.h: Spelling fix.
* include/tr1/boost_shared_ptr.h: Obvious stylistic fixes.
From-SVN: r117147
2006-09-22 15:54:52 +00:00
Paolo Carlini
459f9f82ec
boost_shared_ptr.h: Trivial formatting fixes.
...
2006-09-22 Paolo Carlini <pcarlini@suse.de>
* include/tr1/boost_shared_ptr.h: Trivial formatting fixes.
From-SVN: r117145
2006-09-22 14:22:21 +00:00
Paolo Carlini
7ffb61d503
hash_map: Remove forward declaration of equality operator...
...
2006-09-21 Paolo Carlini <pcarlini@suse.de>
* include/ext/hash_map: Remove forward declaration of equality
operator, not needed for friendship of all its instances.
* include/ext/hash_set: Likewise.
* include/bits/stl_set.h: Likewise for equality operator and
operator less.
* include/bits/stl_multiset.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_queue.h: Likewise.
* include/bits/stl_stack.h: Likewise.
* include/bits/streambuf_iterator.h: Likewise for copy.
* include/std/std_streambuf.h: Likewise for __copy_aux and find.
* include/tr1/boost_shared_ptr.h: Likewise for get_deleter.
* include/tr1/random: Likewise, remove all forward declarations
of inserters and extractors.
From-SVN: r117116
2006-09-21 17:54:50 +00:00
Paolo Carlini
1f9c69a9a3
re PR libstdc++/29134 (Has there been a serious attempt to define the max_size() member functions?)
...
2006-09-20 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/29134
* include/bits/stl_list.h (list<>::max_size): Forward to allocator'
max_size.
* include/bits/stl_vector.h (vector<>::max_size): Likewise.
* include/bits/stl_deque.h (deque<>::max_size): Likewise.
* include/bits/stl_tree.h (_Rb_tree<>::max_size): Likewise.
* include/tr1/hashtable (_Hashtable<>::max_size): Likewise.
* testsuite/23_containers/vector/capacity/29134.cc: Add.
* testsuite/23_containers/deque/capacity/29134.cc: Likewise.
* testsuite/23_containers/list/capacity/29134.cc: Likewise.
* testsuite/23_containers/set/capacity/29134.cc: Likewise.
* testsuite/23_containers/map/capacity/29134.cc: Likewise.
* testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
* testsuite/23_containers/multimap/capacity/29134.cc: Likewise.
* testsuite/tr1/6_containers/unordered/capacity/29134-set.cc: Likewise.
* testsuite/tr1/6_containers/unordered/capacity/29134-map.cc: Likewise.
* testsuite/tr1/6_containers/unordered/capacity/29134-multiset.cc:
Likewise.
* testsuite/tr1/6_containers/unordered/capacity/29134-multimap.cc:
Likewise.
* include/bits/deque.tcc (deque<>::_M_new_elements_at_front,
deque<>::_M_new_elements_at_back): Check for length errors.
* testsuite/23_containers/deque/capacity/29134-2.cc: New.
* testsuite/23_containers/vector/capacity/29134-2.cc: Likewise.
* include/tr1/hashtable (_Hashtable<>::_M_get_Value_allocator): Add.
(_Hashtable<>::_M_allocate_node, _M_deallocate_node): Use it.
* testsuite/tr1/6_containers/unordered/instantiate/set.cc: Add test.
* testsuite/tr1/6_containers/unordered/instantiate/map.cc: Likewise.
* testsuite/tr1/6_containers/unordered/instantiate/multiset.cc:
Likewise.
* testsuite/tr1/6_containers/unordered/instantiate/multimap.cc:
Likewise.
From-SVN: r117099
2006-09-21 00:11:52 +00:00
Paolo Carlini
95cefe5f0e
hashtable_policy.h: Uglify all the names.
...
2006-09-19 Paolo Carlini <pcarlini@suse.de>
* include/tr1/hashtable_policy.h: Uglify all the names.
* include/tr1/hashtable: Likewise.
* include/tr1/unordered_map: Likewise.
* include/tr1/unordered_set: Likewise.
* include/tr1/functional: Uglify struct hash names.
* include/tr1/cmath: Uglify namespace detail to __detail.
From-SVN: r117052
2006-09-19 09:07:56 +00:00
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