diff options
author | Benjamin Kosnik <bkoz@redhat.com> | 2007-10-06 15:08:58 +0000 |
---|---|---|
committer | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2007-10-06 15:08:58 +0000 |
commit | 6f95a65aa12189f267de958ceb995f40e603131e (patch) | |
tree | b26821aeffd62dbc8ddb9938940040a30eb8e059 /libstdc++-v3/include/parallel/numericfwd.h | |
parent | a0689cdfd56b38666775382da03da5af72761888 (diff) | |
download | gcc-6f95a65aa12189f267de958ceb995f40e603131e.tar.gz |
re PR libstdc++/33487 (parallel v3: more functions not in right namespace)
2007-10-06 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/33487
* include/parallel/algorithmfwd.h (for_each, generate, generate_n,
transform, replace, replace_if, max_element, min_element, count,
count_if): Consistently construct overloads.
* include/parallel/numericfwd.h (accumulate, adjacent_difference,
inner_product): Same.
* include/parallel/algobase.h: Same.
* include/parallel/algo.h: Same.
* include/parallel/numeric: Same.
* include/bits/algorithmfwd.h: Correct find_end placement.
* docs/html/parallel_mode.html: Document some of the interface
conventions.
* include/parallel/search.h (calc_borders): Only use operator ==.
* include/parallel/algorithmfwd.h: Move __gnu_sequential bits to...
* include/parallel/tags.h: ...here, and use a using directive.
* include/parallel/random_shuffle.h: Include stl_numeric. Qualify
uses of partial_num with __gnu_sequential.
* include/parallel/tree.h: Formatting.
From-SVN: r129054
Diffstat (limited to 'libstdc++-v3/include/parallel/numericfwd.h')
-rw-r--r-- | libstdc++-v3/include/parallel/numericfwd.h | 80 |
1 files changed, 59 insertions, 21 deletions
diff --git a/libstdc++-v3/include/parallel/numericfwd.h b/libstdc++-v3/include/parallel/numericfwd.h index 75fa3505f97..4181132c13a 100644 --- a/libstdc++-v3/include/parallel/numericfwd.h +++ b/libstdc++-v3/include/parallel/numericfwd.h @@ -46,32 +46,50 @@ namespace __parallel { template<typename _IIter, typename T> inline T - accumulate(_IIter, _IIter, T, __gnu_parallel::sequential_tag); + accumulate(_IIter, _IIter, T); - template<typename _IIter, typename T, typename _BinaryOper> + template<typename _IIter, typename T> inline T - accumulate(_IIter, _IIter, T, _BinaryOper, __gnu_parallel::sequential_tag); + accumulate(_IIter, _IIter, T, __gnu_parallel::sequential_tag); template<typename _IIter, typename T> inline T - accumulate(_IIter, _IIter, T, __gnu_parallel::parallelism parallelism_tag = __gnu_parallel::parallel_unbalanced); + accumulate(_IIter, _IIter, T, __gnu_parallel::parallelism parallelism_tag); + + template<typename _IIter, typename T, typename _Tag> + inline T + accumulate_switch(_IIter, _IIter, T, _Tag); template<typename _IIter, typename T, typename _BinaryOper> inline T - accumulate(_IIter, _IIter, T, _BinaryOper, __gnu_parallel::parallelism parallelism_tag = __gnu_parallel::parallel_unbalanced); + accumulate(_IIter, _IIter, T, _BinaryOper); - template<typename _IIter, typename T, typename _Tag> + template<typename _IIter, typename T, typename _BinaryOper> inline T - accumulate_switch(_IIter, _IIter, T, _Tag, __gnu_parallel::parallelism parallelism_tag); + accumulate(_IIter, _IIter, T, _BinaryOper, __gnu_parallel::sequential_tag); + + template<typename _IIter, typename T, typename _BinaryOper> + inline T + accumulate(_IIter, _IIter, T, _BinaryOper, + __gnu_parallel::parallelism parallelism_tag); template<typename _IIter, typename T, typename _BinaryOper, typename _Tag> T - accumulate_switch(_IIter, _IIter, T, _BinaryOper, _Tag, __gnu_parallel::parallelism parallelism_tag); + accumulate_switch(_IIter, _IIter, T, _BinaryOper, _Tag); template<typename _RAIter, typename T, typename _BinaryOper> T - accumulate_switch(_RAIter, _RAIter, T, _BinaryOper, random_access_iterator_tag, __gnu_parallel::parallelism parallelism_tag); + accumulate_switch(_RAIter, _RAIter, T, _BinaryOper, + random_access_iterator_tag, __gnu_parallel::parallelism); + + template<typename _IIter, typename _OIter> + inline _OIter + adjacent_difference(_IIter, _IIter, _OIter); + + template<typename _IIter, typename _OIter, typename _BinaryOper> + inline _OIter + adjacent_difference(_IIter, _IIter, _OIter, _BinaryOper); template<typename _IIter, typename _OIter> inline _OIter @@ -79,48 +97,68 @@ namespace __parallel template<typename _IIter, typename _OIter, typename _BinaryOper> inline _OIter - adjacent_difference(_IIter, _IIter, _OIter, _BinaryOper, __gnu_parallel::sequential_tag); + adjacent_difference(_IIter, _IIter, _OIter, _BinaryOper, + __gnu_parallel::sequential_tag); template<typename _IIter, typename _OIter> inline _OIter - adjacent_difference(_IIter, _IIter, _OIter, __gnu_parallel::parallelism parallelism_tag = __gnu_parallel::parallel_balanced); + adjacent_difference(_IIter, _IIter, _OIter, __gnu_parallel::parallelism); template<typename _IIter, typename _OIter, typename _BinaryOper> inline _OIter - adjacent_difference(_IIter, _IIter, _OIter, _BinaryOper, __gnu_parallel::parallelism parallelism_tag = __gnu_parallel::parallel_balanced); + adjacent_difference(_IIter, _IIter, _OIter, _BinaryOper, + __gnu_parallel::parallelism); template<typename _IIter, typename _OIter, typename _BinaryOper, typename _Tag1, typename _Tag2> inline _OIter - adjacent_difference_switch(_IIter, _IIter, _OIter, _BinaryOper, _Tag1, _Tag2, __gnu_parallel::parallelism); + adjacent_difference_switch(_IIter, _IIter, _OIter, _BinaryOper, _Tag1, _Tag2); template<typename _IIter, typename _OIter, typename _BinaryOper> _OIter - adjacent_difference_switch(_IIter, _IIter, _OIter, _BinaryOper, random_access_iterator_tag, random_access_iterator_tag, __gnu_parallel::parallelism parallelism_tag); + adjacent_difference_switch(_IIter, _IIter, _OIter, _BinaryOper, + random_access_iterator_tag, + random_access_iterator_tag, + __gnu_parallel::parallelism); - template<typename _IIter1, typename _IIter2, typename T, typename BinaryFunction1, typename BinaryFunction2> + template<typename _IIter1, typename _IIter2, typename T> inline T - inner_product(_IIter1, _IIter1, _IIter2, T, BinaryFunction1, BinaryFunction2, __gnu_parallel::sequential_tag); + inner_product(_IIter1, _IIter1, _IIter2, T); template<typename _IIter1, typename _IIter2, typename T> inline T inner_product(_IIter1, _IIter1, _IIter2, T, __gnu_parallel::sequential_tag); + template<typename _IIter1, typename _IIter2, typename T> + inline T + inner_product(_IIter1, _IIter1, _IIter2, T, __gnu_parallel::parallelism); + + template<typename _IIter1, typename _IIter2, typename T, typename BinaryFunction1, typename BinaryFunction2> inline T - inner_product(_IIter1, _IIter1, _IIter2, T, BinaryFunction1, BinaryFunction2, __gnu_parallel::parallelism parallelism_tag = __gnu_parallel::parallel_unbalanced); + inner_product(_IIter1, _IIter1, _IIter2, T, BinaryFunction1, BinaryFunction2); - template<typename _IIter1, typename _IIter2, typename T> + template<typename _IIter1, typename _IIter2, typename T, typename BinaryFunction1, typename BinaryFunction2> + inline T + inner_product(_IIter1, _IIter1, _IIter2, T, BinaryFunction1, BinaryFunction2, + __gnu_parallel::sequential_tag); + + template<typename _IIter1, typename _IIter2, typename T, typename BinaryFunction1, typename BinaryFunction2> inline T - inner_product(_IIter1, _IIter1, _IIter2, T, __gnu_parallel::parallelism parallelism_tag = __gnu_parallel::parallel_unbalanced); + inner_product(_IIter1, _IIter1, _IIter2, T, BinaryFunction1, BinaryFunction2, + __gnu_parallel::parallelism); template<typename _RAIter1, typename _RAIter2, typename T, typename BinaryFunction1, typename BinaryFunction2> T - inner_product_switch(_RAIter1, _RAIter1, _RAIter2, T, BinaryFunction1, BinaryFunction2, random_access_iterator_tag, random_access_iterator_tag, __gnu_parallel::parallelism parallelism_tag); + inner_product_switch(_RAIter1, _RAIter1, _RAIter2, T, BinaryFunction1, + BinaryFunction2, random_access_iterator_tag, + random_access_iterator_tag, + __gnu_parallel::parallelism); template<typename _IIter1, typename _IIter2, typename T, typename BinaryFunction1, typename BinaryFunction2, typename _Tag1, typename _Tag2> inline T - inner_product_switch(_IIter1, _IIter1, _IIter2, T, BinaryFunction1, BinaryFunction2, _Tag1, _Tag2, __gnu_parallel::parallelism parallelism_tag); + inner_product_switch(_IIter1, _IIter1, _IIter2, T, BinaryFunction1, + BinaryFunction2, _Tag1, _Tag2); template<typename _IIter, typename _OIter> |