Commit Graph

38 Commits

Author SHA1 Message Date
Paolo Carlini
b3726dabf3 type_traits.h (__numeric_traits): Move...
2007-04-06  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/type_traits.h (__numeric_traits): Move...
	* include/ext/numeric_traits.h: ... here.
	* include/Makefile.am: Add.
	* include/ext/pb_ds/detail/type_utils.hpp: Include 
	<ext/numeric_traits.h> too.
	* include/tr1/random: Likewise.
	* testsuite/ext/type_traits/numeric_traits.cc: Move...
	* testsuite/ext/numeric_traits/numeric_traits.cc: ... here.
	* include/Makefile.in: Regenerate.

From-SVN: r123618
2007-04-06 14:52:27 +00:00
Paolo Carlini
4ba851b58b PR libstdc++/28080 (partial)
2007-03-06  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/bits/stl_algobase.h: Do not include <cstdlib>.
	* src/localename.cc: Do it here.
	* src/ctype.cc: Likewise.
	* include/ext/pb_ds/detail/map_debug_base.hpp: Likewise.
	* include/ext/pb_ds/exception.hpp: Likewise.
	* include/ext/pb_ds/list_update_policy.hpp: Likewise.
	* include/bits/stl_algo.h: Likewise.
	* include/tr1/random: Likewise.
	* testsuite/util/testsuite_hooks.cc: Likewise.
	* testsuite/util/testsuite_abi_check.cc: Likewise.
	* testsuite/util/testsuite_abi.cc: Likewise.
	* testsuite/util/performance/assoc/timing/
	tree_order_statistics_test.hpp: Likewise.
	* config/locale/darwin/ctype_members.cc: Likewise.
	* config/locale/gnu/c++locale_internal.h: Likewise.
	* config/locale/generic/ctype_members.cc: Likewise.
	* config/locale/generic/time_members.cc: Likewise.

	* include/ext/pb_ds/detail/resize_policy/
	hash_load_check_resize_trigger_imp.hpp: Qualify abort.
	* testsuite/util/performance/assoc/timing/
	multimap_find_test.hpp: Likewise.
	* include/std/valarray: Do include <cstdlib>.
	* include/tr1/hashtable: Likewise.

From-SVN: r122628
2007-03-06 17:43:27 +00:00
Benjamin Kosnik
af13a7a6ec acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Add c_global.
2007-03-04  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Add c_global.
	* configure.host (c_model): Set default to c_global.
	* configure: Regenerate.
	* include/Makefile.am (c_compatibility_headers_extra): Make
	conditional on GLIBCXX_C_HEADERS_COMPATIBILITY.
	(c_base_headers_extra): Make conditional on GLIBCXX_C_HEADERS_EXTRA.
	(c_compatibility_headers): Make conditional on c/c_std/c_global.
	* include/Makefile.in: Regenerate.
	* docs/html/configopts.html: Add c_global information to
	--enable-cheaders. Eventually, "c_std" should mean "C" includes
	that are in namespace std, with optional C++ "C" compatibility
	includes to inject into global scope. And "c_global" should mean
	"C" includes that are in the global namespace, with C++ includes
	injecting into namespace std and no C++ "C" compatibility
	includes.
 
2007-03-04  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Add _GLIBCXX_NAMEPACE_C.
	Add _GLIBCXX_NAMESPACE_ASSOCIATION_CXX200x.
	Add _GLIBCXX_TR1 as namespace macro.
	Add namespace associations for std::__cxx200x conditionally.

	* include/c_compatibility/assert.h: Correct doxygen markup,
	conditionalize the global injections on _GLIBCXX_NAMESPACE_C.
	* include/c_compatibility/ctype.h: Same.
	* include/c_compatibility/errno.h: Same.
	* include/c_compatibility/float.h: Same.
	* include/c_compatibility/iso646.h: Same.
	* include/c_compatibility/limits.h: Same.
	* include/c_compatibility/locale.h: Same.
	* include/c_compatibility/math.h: Same.
	* include/c_compatibility/setjmp.h: Same.
	* include/c_compatibility/signal.h: Same.
	* include/c_compatibility/stdarg.h: Same.
	* include/c_compatibility/stddef.h: Same.
	* include/c_compatibility/stdio.h: Same.
	* include/c_compatibility/stdlib.h: Same.
	* include/c_compatibility/string.h: Same.
	* include/c_compatibility/time.h: Same.
	* include/c_compatibility/wchar.h: Same.
	* include/c_compatibility/wctype.h: Same.

	* include/c_compatibility/complex.h: Add.
	* include/c_compatibility/fenv.h: Same.
	* include/c_compatibility/inttypes.h: Same.
	* include/c_compatibility/stdbool.h: Same.
	* include/c_compatibility/stdint.h: Same.
	* include/c_compatibility/tgmath.h: Same.

	* include/c_global/cassert: Add, use include_next, use C++0x features
	if -std=c++0x.
	* include/c_global/cctype: Same.
	* include/c_global/cerrno: Same.
	* include/c_global/cfloat: Same.
	* include/c_global/ciso646: Same.
	* include/c_global/climits: Same.
	* include/c_global/clocale: Same.
	* include/c_global/cmath: Same.
	* include/c_global/cmath.tcc: Same.
	* include/c_global/csetjmp: Same.
	* include/c_global/csignal: Same.
	* include/c_global/cstdarg: Same.
	* include/c_global/cstddef: Same.
	* include/c_global/cstdio: Same.
	* include/c_global/cstdlib: Same.
	* include/c_global/cstring: Same.
	* include/c_global/ctime: Same.
	* include/c_global/cwchar: Same.
	* include/c_global/cwctype: Same.

	* include/c_global/ccomplex: Add.
	* include/c_global/cfenv: Add.
	* include/c_global/cinttypes: Add. 
	* include/c_global/cstdbool: Add.
	* include/c_global/cstdint: Add.
	* include/c_global/ctgmath: Add.

	* include/std/algorithm: Use C++0x features if -std=c++0x.	
	* include/std/bitset: Same.
	* include/std/complex: Same.
	* include/std/deque: Same.
	* include/std/fstream: Same.
	* include/std/functional: Same.
	* include/std/iomanip: Same.
	* include/std/ios: Same.
	* include/std/iosfwd: Same.
	* include/std/iostream: Same.
	* include/std/istream: Same.
	* include/std/iterator: Same.
	* include/std/limits: Same.
	* include/std/list: Same.
	* include/std/locale: Same.
	* include/std/map: Same.
	* include/std/memory: Same.
	* include/std/numeric: Same.
	* include/std/ostream: Same.
	* include/std/queue: Same.
	* include/std/set: Same.
	* include/std/sstream: Same.
	* include/std/stack: Same.
	* include/std/stdexcept: Same.
	* include/std/streambuf: Same.
	* include/std/string: Same.
	* include/std/utility: Same.
	* include/std/valarray: Same.
	* include/std/vector: Same.

	* include/std/array: Add.
	* include/std/random: Add.
	* include/std/regex: Add.
	* include/std/tuple: Add.
	* include/std/type_traits: Add.
	* include/std/unordered_map: Add.
	* include/std/unordered_set: Add.
	* include/std/c++0x_warning.h: Add.
	
	* include/tr1/array: Switch namespaces based on _GLIBCXX_TR1.
	* include/tr1/boost_shared_ptr.h: Same.
	* include/tr1/cctype: Same.
	* include/tr1/cfenv: Same.
	* include/tr1/cinttypes: Same.
	* include/tr1/cmath: Same.
	* include/tr1/common.h: Same.
	* include/tr1/complex: Same.
	* include/tr1/cstdint: Same.
	* include/tr1/cstdio: Same.
	* include/tr1/cstdlib: Same.
	* include/tr1/cwchar: Same.
	* include/tr1/cwctype: Same.
	* include/tr1/functional: Same.
	* include/tr1/functional_hash.h: Same.
	* include/tr1/functional_iterate.h: Same.
	* include/tr1/hashtable: Same.
	* include/tr1/hashtable_policy.h: Same.
	* include/tr1/math.h: Same.
	* include/tr1/memory: Same.
	* include/tr1/random: Same.
	* include/tr1/random.tcc: Same.
	* include/tr1/ref_fwd.h: Same.
	* include/tr1/repeat.h: Same.
	* include/tr1/stdlib.h: Same.
	* include/tr1/tuple: Same.
	* include/tr1/tuple_iterate.h: Same.
	* include/tr1/type_traits: Same.
	* include/tr1/type_traits_fwd.h: Same.
	* include/tr1/unordered_map: Same.
	* include/tr1/unordered_set: Same.
	* include/tr1/utility: Same.

	* include/tr1/ccomplex: Add.
	* include/tr1/complex.h: Add.
	* include/tr1/regex: Add.

	* include/Makefile.am: Add C++0x headers, "C" compatibility headers.
	* include/Makefile.in: Regenerate.

	* testsuite/tr1/headers.cc: Add in regex/complex.

	* testsuite/17_intro/headers/c++200x/all.cc: New.
	* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Same.
	* testsuite/17_intro/using_namespace_std_tr1_neg.cc: Same.
	* testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc: Same.
	* testsuite/18_support/headers/cstdint/std_c++0x_neg.cc: Same.
	* testsuite/18_support/headers/cstdint/types_std_c++0x.cc: Same.
	* testsuite/20_util/enable_shared_from_this/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/headers/functional/types_std_c++0x.cc: Same.
	* testsuite/20_util/headers/functional/
	using_namespace_std_placeholders.cc: Same.
	* testsuite/20_util/headers/memory/types_std_c++0x.cc: Same.
	* testsuite/20_util/headers/type_traits/std_c++0x_neg.cc: Same.
	* testsuite/20_util/headers/type_traits/types_std_c++0x.cc: Same.
	* testsuite/20_util/shared_ptr/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/weak_ptr/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/array/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/hash/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/headers/array/std_c++0x_neg.cc: Same.
	* testsuite/23_containers/headers/tuple/std_c++0x_neg.cc: Same.
	* testsuite/23_containers/headers/tuple/types_std_c++0x.cc: Same.
	* testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc: Same.
	* testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc: Same.
	* testsuite/23_containers/tuple/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc: Same.
	* testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc: Same.
	* testsuite/26_numerics/headers/cfenv/types_std_c++0x.cc: Same.
	* testsuite/26_numerics/headers/cmath/types_std_c++0x.cc: Same.
	* testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Same.
	* testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc: Same.
	* testsuite/26_numerics/headers/random/std_c++0x_neg.cc: Same.
	* testsuite/26_numerics/headers/random/types_std_c++0x.cc: Same.
	* testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc: Same.
	* testsuite/27_io/headers/cinttypes/types_std_c++0x.cc: Same.
	* testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Same.

	* testsuite/tr1/8_c_compatibility/cfenv/types.cc: Rename ...
	* testsuite/tr1/8_c_compatibility/cinttypes/types.cc: Same.
	* testsuite/tr1/8_c_compatibility/cmath/types.cc: Same.
	* testsuite/tr1/8_c_compatibility/cstdint/types.cc: Same.
	* testsuite/tr1/8_c_compatibility/cstdlib/types.cc: Same.
	* testsuite/tr1/8_c_compatibility/cfenv/types_std_tr1.cc: ...to this.
	* testsuite/tr1/8_c_compatibility/cinttypes/types_std_tr1.cc: Same.
	* testsuite/tr1/8_c_compatibility/cmath/types_std_tr1.cc: Same.
	* testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc: Same.
	* testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Same.

From-SVN: r122533
2007-03-04 22:59:49 +00:00
Paolo Carlini
1769232d26 re PR libstdc++/28080 (header dependencies)
2007-03-02  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/thread/pthread1.cc: Include <pthread.h>.
	* testsuite/thread/pthread2.cc: Likewise.
	* testsuite/thread/pthread3.cc: Likewise.
	* testsuite/thread/pthread4.cc: Likewise.
	* testsuite/thread/pthread5.cc: Likewise.
	* testsuite/thread/pthread6.cc: Likewise.
	* testsuite/thread/pthread7-rope.cc: Likewise.

2007-03-02  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/tr1/random (class random_device): Rework to use simple
	<cstdio> input, do not include <fstream>.
	* include/tr1/random.tcc (all inserters and extractors): Refer
	to ios_base as base class of basic_istream or basic_ostream.

From-SVN: r122478
2007-03-02 16:21:30 +00:00
Paolo Carlini
41e56bf7d6 PR libstdc++/28080 (partial)
2007-02-20  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/tr1/functional: Split out hash bits to...
	* include/tr1/functional_hash.h: ...here.
	* include/Makefile.am: Add.
	* include/tr1/unordered_set: Include the latter instead.
	* include/tr1/unordered_map: Likewise.
	* include/tr1/random: Do not include the whole <algorithm>,
	stl_algobase.h is enough.
	* include/tr1/memory: Likewise.
	* include/Makefile.in: Regenerate.

	* include/tr1/utility (get(std::pair<>&), get(const std::pair<>&)):
	Mark inline.

From-SVN: r122175
2007-02-20 21:22:35 +00:00
Matthias Klose
472017b355 random (gamma_distribution): Fix typo in formula.
2007-01-06  Matthias Klose  <doko@debian.org>

        * include/tr1/random (gamma_distribution): Fix typo in formula.
        * docs/doxygen/user.cfg.in: Use package amsmath.

From-SVN: r120522
2007-01-06 09:56:37 +00:00
Benjamin Kosnik
143c27b065 localefwd.h: Consistent @file placement...
2006-12-05  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/localefwd.h: Consistent @file placement, use
        include/ as part of the path for files that have shadows instead of no
        name.
	* include/bits/valarray_after.h: Same.
	* include/bits/gslice_array.h: Same.
	* include/bits/gslice.h: Same.
	* include/bits/locale_classes.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/indirect_array.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/postypes.h: Same.
	* include/bits/codecvt.h: Same.
	* include/bits/mask_array.h: Same.
	* include/bits/slice_array.h: Same.
	* include/bits/boost_concept_check.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/stringfwd.h: Same.
	* include/bits/c++config: Same.
	* include/bits/valarray_array.h: Same.
	* include/bits/valarray_before.h: Same.
	* include/bits/cpp_type_traits.h: Same.
	* include/c/std_cerrno.h: Same.
	* include/precompiled/extc++.h: Same.
	* include/precompiled/stdtr1c++.h: Same.
	* include/precompiled/stdc++.h: Same.
	* include/tr1/cinttypes: Same.
	* include/tr1/fenv.h: Same.
	* include/tr1/mu_iterate.h: Same.
	* include/tr1/cstdio: Same.
	* include/tr1/limits.h: Same.
	* include/tr1/ctgmath: Same.
	* include/tr1/cstdarg: Same.
	* include/tr1/tuple: Same.
	* include/tr1/float.h: Same.
	* include/tr1/stdint.h: Same.
	* include/tr1/tuple_iterate.h: Same.
	* include/tr1/type_traits_fwd.h: Same.
	* include/tr1/hashtable_policy.h: Same.
	* include/tr1/cfenv: Same.
	* include/tr1/wctype.h: Same.
	* include/tr1/ref_fwd.h: Same.
	* include/tr1/bind_repeat.h: Same.
	* include/tr1/utility: Same.
	* include/tr1/climits: Same.
	* include/tr1/type_traits: Same.
	* include/tr1/stdlib.h: Same.
	* include/tr1/cwchar: Same.
	* include/tr1/stdio.h: Same.
	* include/tr1/ref_wrap_iterate.h: Same.
	* include/tr1/cstdint: Same.
	* include/tr1/memory: Same.
	* include/tr1/cstdbool: Same.
	* include/tr1/cwctype: Same.
	* include/tr1/bind_iterate.h: Same.
	* include/tr1/math.h: Same.
	* include/tr1/random: Same.
	* include/tr1/tuple_defs.h: Same.
	* include/tr1/cstdlib: Same.
	* include/tr1/unordered_map: Same.
	* include/tr1/boost_shared_ptr.h: Same.
	* include/tr1/cctype: Same.
	* include/tr1/random.tcc: Same.
	* include/tr1/wchar.h: Same.
	* include/tr1/hashtable: Same.
	* include/tr1/cmath: Same.
	* include/tr1/stdbool.h: Same.
	* include/tr1/ctime: Same.
	* include/tr1/functional: Same.
	* include/tr1/unordered_set: Same.
	* include/tr1/inttypes.h: Same.
	* include/tr1/functional_iterate.h: Same.
	* include/tr1/repeat.h: Same.
	* include/tr1/complex: Same.
	* include/tr1/cfloat: Same.
	* include/tr1/ctype.h: Same.
	* include/tr1/stdarg.h: Same.
	* include/tr1/tgmath.h: Same.
	* include/tr1/array: Same.
	* include/tr1/common.h: Same.
	* include/std/std_valarray.h: Same.
	* include/std/std_iostream.h: Same.
	* include/std/std_queue.h: Same.
	* include/std/std_algorithm.h: Same.
	* include/std/std_streambuf.h: Same.
	* include/std/std_iterator.h: Same.
	* include/std/std_ios.h: Same.
	* include/std/std_bitset.h: Same.
	* include/std/std_iosfwd.h: Same.
	* include/std/std_set.h: Same.
	* include/std/std_iomanip.h: Same.
	* include/std/std_fstream.h: Same.
	* include/std/std_functional.h: Same.
	* include/std/std_numeric.h: Same.
	* include/std/std_vector.h: Same.
	* include/std/std_deque.h: Same.
	* include/std/std_stdexcept.h: Same.
	* include/std/std_utility.h: Same.
	* include/std/std_stack.h: Same.
	* include/std/std_string.h: Same.
	* include/std/std_complex.h: Same.
	* include/std/std_memory.h: Same.
	* include/std/std_ostream.h: Same.
	* include/std/std_list.h: Same.
	* include/std/std_map.h: Same.
	* include/std/std_sstream.h: Same.
	* include/c_std/std_csignal.h: Same.
	* include/c_std/std_cstdlib.h: Same.
	* include/c_std/std_cstdio.h: Same.
	* include/c_std/std_cstdarg.h: Same.
	* include/c_std/std_cctype.h: Same.
	* include/c_std/std_cerrno.h: Same.
	* include/c_std/std_cmath.h: Same.
	* include/c_std/std_ctime.h: Same.
	* include/c_std/std_clocale.h: Same.
	* include/c_std/std_climits.h: Same.
	* include/c_std/std_cassert.h: Same.
	* include/c_std/cmath.tcc
	* include/c_std/std_csetjmp.h: Same.
	* include/c_std/std_cwchar.h: Same.
	* include/c_std/std_cfloat.h: Same.
	* include/c_std/std_cstring.h: Same.
	* include/c_std/std_cstddef.h: Same.
	* include/c_std/std_cwctype.h: Same.

	* config/locale/gnu/c_locale.h: Namespace scope in all files.
	* config/locale/gnu/messages_members.h: Same.
	* config/locale/gnu/c++locale_internal.h: Same.
	* config/locale/gnu/time_members.h: Same.
	* config/locale/ieee_1003.1-2001/c_locale.h: Same.
	* config/locale/ieee_1003.1-2001/messages_members.h: Same.
	* config/locale/generic/c_locale.h: Same.
	* config/locale/generic/messages_members.h: Same.
	* config/locale/generic/time_members.h: Same.
	* config/allocator/mt_allocator_base.h: Same.
	* config/allocator/malloc_allocator_base.h: Same.
	* config/allocator/new_allocator_base.h: Same.
	* config/allocator/pool_allocator_base.h: Same.
	* config/allocator/bitmap_allocator_base.h: Same.
	* config/os/windiss/ctype_noninline.h: Same.
	* config/os/windiss/os_defines.h: Same.
	* config/os/windiss/ctype_inline.h: Same.
	* config/os/newlib/ctype_noninline.h: Same.
	* config/os/newlib/os_defines.h: Same.
	* config/os/newlib/ctype_inline.h: Same.
	* config/os/aix/ctype_noninline.h: Same.
	* config/os/aix/os_defines.h: Same.
	* config/os/aix/ctype_inline.h: Same.
	* config/os/vxworks/ctype_noninline.h: Same.
	* config/os/vxworks/os_defines.h: Same.
	* config/os/vxworks/ctype_inline.h: Same.
	* config/os/hpux/ctype_noninline.h: Same.
	* config/os/hpux/os_defines.h: Same.
	* config/os/hpux/ctype_inline.h: Same.
	* config/os/mingw32/ctype_noninline.h: Same.
	* config/os/mingw32/os_defines.h: Same.
	* config/os/mingw32/ctype_inline.h: Same.
	* config/os/gnu-linux/ctype_noninline.h: Same.
	* config/os/gnu-linux/os_defines.h: Same.
	* config/os/gnu-linux/ctype_inline.h: Same.
	* config/os/tpf/ctype_noninline.h: Same.
	* config/os/tpf/os_defines.h: Same.
	* config/os/tpf/ctype_inline.h: Same.
	* config/os/uclibc/ctype_noninline.h: Same.
	* config/os/uclibc/os_defines.h: Same.
	* config/os/uclibc/ctype_inline.h: Same.
	* config/os/djgpp/ctype_noninline.h: Same.
	* config/os/djgpp/os_defines.h: Same.
	* config/os/djgpp/ctype_inline.h: Same.
	* config/os/qnx/qnx6.1/ctype_noninline.h: Same.
	* config/os/qnx/qnx6.1/ctype_inline.h: Same.
	* config/os/bsd/netbsd/ctype_noninline.h: Same.
	* config/os/bsd/netbsd/ctype_inline.h: Same.
	* config/os/bsd/darwin/ctype_noninline.h: Same.
	* config/os/bsd/darwin/ctype_inline.h: Same.
	* config/os/bsd/freebsd/ctype_noninline.h: Same.
	* config/os/bsd/freebsd/ctype_inline.h: Same.
	* config/os/irix/irix5.2/ctype_noninline.h: Same.
	* config/os/irix/irix5.2/ctype_inline.h: Same.
	* config/os/irix/irix6.5/ctype_noninline.h: Same.
	* config/os/irix/irix6.5/ctype_inline.h: Same.
	* config/os/solaris/solaris2.5/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.5/ctype_inline.h: Same.
	* config/os/solaris/solaris2.6/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.6/ctype_inline.h: Same.
	* config/os/solaris/solaris2.7/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.7/ctype_inline.h: Same.
	* config/os/generic/ctype_noninline.h: Same.
	* config/os/generic/os_defines.h: Same.
	* config/os/generic/ctype_inline.h: Same.
	* config/cpu/arm/cxxabi_tweaks.h: Same.
	* config/cpu/powerpc/cpu_defines.h: Same.
	* config/cpu/generic/cxxabi_tweaks.h: Same.
	* config/cpu/generic/cpu_defines.h: Same.
	* config/cpu/generic/atomic_word.h: Same.
	* config/io/c_io_stdio.h: Same.
	* config/abi/compatibility.h: Same.

	* docs/doxygen/user.cfg.in: Adjust file list.

From-SVN: r119561
2006-12-05 23:24:07 +00:00
Benjamin Kosnik
78a5388739 throw_allocator.h: Consistent @file markup.
2006-11-29  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/throw_allocator.h: Consistent @file markup.
	* include/ext/type_traits.h: Same.
	* include/debug/hash_map: Same.
	* include/debug/hash_multimap.h: Same.
	* include/debug/set.h: Same.
	* include/debug/hash_set.h: Same.
	* include/debug/formatter.h: Same.
	* include/debug/bitset: Same.
	* include/debug/set: Same.
	* include/debug/multiset.h: Same.
	* include/debug/safe_sequence.h: Same.
	* include/debug/hash_set: Same.
	* include/debug/functions.h: Same.
	* include/debug/safe_base.h: Same.
	* include/debug/hash_multiset.h: Same.
	* include/debug/safe_iterator.tcc: Same.
	* include/debug/vector: Same.
	* include/debug/map.h: Same.
	* include/debug/deque: Same.
	* include/debug/hash_map.h: Same.
	* include/debug/string: Same.
	* include/debug/macros.h: Same.
	* include/debug/list: Same.
	* include/debug/debug.h: Same.
	* include/debug/map: Same. 
	* include/debug/safe_iterator.h: Same.
	* include/debug/multimap.h: Same.
	* config/cpu/generic/atomicity_mutex/atomicity.h: Same.
	* config/cpu/generic/atomicity_builtins/atomicity.h: Same.
	* config/cpu/generic/atomic_word.h: Same.
	* include/tr1/memory: Same.
	* include/tr1/random: Same.	
	* include/std/std_queue.h: Same.
	* include/std/std_iterator.h: Same.
	* include/std/std_bitset.h: Same.
	* include/std/std_set.h: Same.
	* include/std/std_vector.h: Same.
	* include/std/std_deque.h: Same.
	* include/std/std_utility.h: Same.
	* include/std/std_stack.h: Same.
	* include/std/std_string.h: Same.
	* include/std/std_list.h: Same.
	* include/std/std_map.h: Same.
	* libsupc++/typeinfo: Same.
	* libsupc++/exception: Same.
	* libsupc++/exception_defines.h: Same.
	* libsupc++/new: Same.
	
	* include/ext/bitmap_allocator.h: Change namespace __balloc to
	__detail.
	* src/bitmap_allocator.cc: Same.
	
	* include/bits/cpp_type_traits.h: Change __true_type and
	__false_type from global to namespace std scope.
	* include/ext/slist: Same.
	* include/ext/vstring.h: Same.
	* include/ext/vstring.tcc: Same.
	* include/ext/rc_string_base.h: Same.
	* include/ext/sso_string_base.h: Same.

	* include/bits/codecvt.h: Adjust markup so that correct namespace
	scope information is in all files.
	* include/bits/locale_facets.h: Same. Include ctype_base directly.
	* config/os/windiss/ctype_base.h: Add in namespace markup.
	* config/os/newlib/ctype_base.h: Same.
	* config/os/aix/ctype_base.h: Same.
	* config/os/vxworks/ctype_base.h: Same.
	* config/os/hpux/ctype_base.h: Same.
	* config/os/mingw32/ctype_base.h: Same.
	* config/os/gnu-linux/ctype_base.h: Same.
	* config/os/tpf/ctype_base.h: Same.
	* config/os/uclibc/ctype_base.h: Same.
	* config/os/djgpp/ctype_base.h: Same.
	* config/os/qnx/qnx6.1/ctype_base.h: Same.
	* config/os/bsd/netbsd/ctype_base.h: Same.
	* config/os/bsd/darwin/ctype_base.h: Same.
	* config/os/bsd/freebsd/ctype_base.h: Same.
	* config/os/irix/irix5.2/ctype_base.h: Same.
	* config/os/irix/irix6.5/ctype_base.h: Same.
	* config/os/solaris/solaris2.5/ctype_base.h: Same.
	* config/os/solaris/solaris2.6/ctype_base.h: Same.
	* config/os/solaris/solaris2.7/ctype_base.h: Same.
	* config/os/generic/ctype_base.h: Same.
	* include/tr1/mu_iterate.h: Same.
	* include/tr1/tuple: Same.
	* include/tr1/tuple_iterate.h: Same.
	* include/tr1/tuple_defs.h: Same.
	* include/tr1/random.tcc: Same.
	* include/tr1/functional: Same.
	* include/tr1/functional_iterate.h: Same.
	
	* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Line
	number changes.	
	* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
	* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
	* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.

	* docs/doxygen/user.cfg.in: Update to doxygen 1.5.1.
	* docs/html/17_intro/license.html: Updated info for generated docs.
	* docs/doxygen/guide.html: Adjust.
	* docs/doxygen/run_doxygen: Adjust.
	* docs/doxygen/mainpage.html: Same.
	* docs/doxygen/doxygroups.cc: Same.
	* docs/doxygen/Intro.3: Same.
	* docs/doxygen/tables.html: Same.

From-SVN: r119334
2006-11-29 20:59:22 +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
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
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
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
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
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
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
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
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
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
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
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