2008-07-15 Johannes Singler <singler@ira.uka.de>
* include/parallel/find_selectors.h:
Correct name for include guard #ifndef.
* include/parallel/balanced_quicksort.h: Likewise.
* include/parallel/unique_copy.h: Likewise.
* include/parallel/multiway_mergesort.h: Likewise.
* include/parallel/checkers.h: Likewise.
* include/parallel/[various files]:
Add/correct comment for #endif of include guard (at end of file)
From-SVN: r137827
2008-05-16 Johannes Singler <singler@ira.uka.de>
* doc/xml/manual/parallel_mode.xml:
Documented the new choices, factoring out common tags.
* include/parallel/multiway_merge.h:
Place comparison functor at the end, to comply with
established convention.
(parallel_multiway_merge) Pass number of threads explicitly.
Introduce new compile-time variants, make exact splitting the
default.
* include/parallel/tags.h:
Extend exact_tag, introduce sampling_tag.
* include/parallel/merge.h:
(parallel_merge_advance) Adapt to changed interface.
* include/parallel/multiway_mergesort.h: Likewise.
From-SVN: r135411
2008-04-23 Johannes Singler <singler@ira.uka.de>
* include/parallel/quicksort.h: Reformat,
(parallel_sort_qs): Do not pass number of elements.
* include/parallel/balanced_quicksort.h: Reformat,
(parallel_sort_qsb): Do not pass number of elements.
* include/parallel/tags.h:
Introduce new tags for compile-time choice.
* include/parallel/merge.h:
(parallel_merge_advance):Beautified.
* include/parallel/algo.h: Reformatting (spaces for tabs)
New sort and stable_sort variants, corresponding to the tags.
* include/parallel/sort.h:
New sort and stable_sort variants, corresponding to the tags.
Changed determining the desired number of threads.
From-SVN: r134582
2008-04-07 Johannes Singler <singler@ira.uka.de>
* include/parallel/multiway_merge.h:
Moved decisions to compiletime instead of runtime.
* include/parallel/losertree.h:
Removed obsolete variants, added variant that uses pointers
in the loser tree.
* include/parallel/types.h:
Remove obsolete settings options from enum.
* include/parallel/features.h:
Remove obsolete compile-time switches.
* include/parallel/compiletime_settings.h:
Remove obsolete variant that copies back *after* sorting.
* include/parallel/tags.h:
Add one new tag for compile-time switch.
* include/parallel/merge.h:
Adapt to changes in multiway_merge.h.
* include/parallel/multiway_mergesort.h:
Adapt to changes in multiway_merge.h.
Factor out splitting variants.
Remove obsolete variant that copies back *after* sorting.
* include/parallel/sort.h:
Adapt to changes in multiway_mergesort.h.
* testsuite/25_algorithms/sort/35588.cc:
Added test case from / for PR 35588.
From-SVN: r133975
2007-10-09 Benjamin Kosnik <bkoz@montsouris.artheist.org>
PR libstdc++/33489 continued.
* include/parallel/features.h (_GLIBCXX_LOSER_TREE): Set to zero.
(_GLIBCXX_LOSER_TREE_POINTER): Set to one.
(_GLIBCXX_LOSER_TREE_UNGUARDED): Set to zero.
(_GLIBCXX_LOSER_TREE_POINTER_UNGUARDED): Set to one.
* include/parallel/multiway_merge.h (parallel_multiway_merge):
Change array of value_type to array of value_type pointers.
(multiway_merge_bubble): Same.
(multiway_merge_loser_tree): Same.
* include/parallel/merge.h (merge_advance_movc): Change to avoid
default construction.
* include/parallel/multiseq_selection.h (multiseq_partition):
Replace value_type, bool pair with value_type*, null-initialized.
* include/parallel/multiway_mergesort.h (parallel_sort_mwms):
Don't use array form of operator new for value_types.
(parallel_sort_mwms_pu): Same.
* include/parallel/quicksort.h (parallel_sort_qs_divide): Don't
use array form to construct pointer to value_type on stack,
instead use __builtin_alloca.
* include/parallel/random_shuffle.h (sequential_random_shuffle): Same,
but use operator new.
(parallel_random_shuffle_drs_pu): Same.
* include/parallel/partial_sum.h ( parallel_partial_sum_linear): Same.
* include/parallel/losertree.h: Format.
* include/parallel/settings.h: Format.
* include/parallel/multiway_merge.h: Move traits to....
* include/parallel/losertree.h: ... here.
From-SVN: r129179