diff options
| author | singler <singler@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-01-26 09:18:48 +0000 |
|---|---|---|
| committer | singler <singler@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-01-26 09:18:48 +0000 |
| commit | 49edb39c74b93a0122f83f8bff71a0c2d2654fa1 (patch) | |
| tree | 7b9ee2bee4f87566cbb90b64e074cf85209740bb /libstdc++-v3/include/parallel | |
| parent | 6a3b1a0da6838e5c31879e28c0475b67be6a468d (diff) | |
| download | ppe42-gcc-49edb39c74b93a0122f83f8bff71a0c2d2654fa1.tar.gz ppe42-gcc-49edb39c74b93a0122f83f8bff71a0c2d2654fa1.zip | |
2011-01-26 Johannes Singler <singler@kit.edu>
* include/parallel/numeric (inner_product, partial_sum):
Qualify subsequent call with __gnu_parallel instead of
_GLIBCXX_STD_P to reenable parallel execution without ambiguity.
* include/parallel/algobase.h (equal): Likewise.
* include/parallel/algo.h (find_first_of, search_n, merge,
nth_element, partial_sort, max_element, min_element): Likewise.
* testsuite/25_algorithms/headers/algorithm/
parallel_algorithm_mixed1.cc (main): Add respective test cases.
* testsuite/25_algorithms/headers/algorithm/
parallel_algorithm_mixed2.cc (main): Likewise.
* testsuite/26_numerics/headers/numeric/
parallel_numeric_mixed1.cc (main): Likewise.
* testsuite/26_numerics/headers/numeric/
parallel_numeric_mixed2.cc (main): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@169280 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include/parallel')
| -rw-r--r-- | libstdc++-v3/include/parallel/algo.h | 14 | ||||
| -rw-r--r-- | libstdc++-v3/include/parallel/algobase.h | 6 | ||||
| -rw-r--r-- | libstdc++-v3/include/parallel/numeric | 6 |
3 files changed, 14 insertions, 12 deletions
diff --git a/libstdc++-v3/include/parallel/algo.h b/libstdc++-v3/include/parallel/algo.h index cc2fc679bcf..a24e557ad90 100644 --- a/libstdc++-v3/include/parallel/algo.h +++ b/libstdc++-v3/include/parallel/algo.h @@ -292,7 +292,7 @@ namespace __parallel typedef typename _IIterTraits::value_type _IValueType; typedef typename iteratorf_traits::value_type _FValueType; - return _GLIBCXX_STD_P::find_first_of(__begin1, __end1, __begin2, __end2, + return __gnu_parallel::find_first_of(__begin1, __end1, __begin2, __end2, __gnu_parallel::_EqualTo<_IValueType, _FValueType>()); } @@ -1160,7 +1160,7 @@ namespace __parallel const _Tp& __val) { typedef typename iterator_traits<_FIterator>::value_type _ValueType; - return _GLIBCXX_STD_P::search_n(__begin, __end, __count, __val, + return __gnu_parallel::search_n(__begin, __end, __count, __val, __gnu_parallel::_EqualTo<_ValueType, _Tp>()); } @@ -2086,7 +2086,7 @@ namespace __parallel typedef typename _Iterator1Traits::value_type _ValueType1; typedef typename _Iterator2Traits::value_type _ValueType2; - return _GLIBCXX_STD_P::merge(__begin1, __end1, __begin2, __end2, + return __gnu_parallel::merge(__begin1, __end1, __begin2, __end2, __result, __gnu_parallel::_Less<_ValueType1, _ValueType2>()); } @@ -2128,7 +2128,7 @@ namespace __parallel { typedef iterator_traits<_RAIter> _TraitsType; typedef typename _TraitsType::value_type _ValueType; - _GLIBCXX_STD_P::nth_element(__begin, __nth, __end, + __gnu_parallel::nth_element(__begin, __nth, __end, std::less<_ValueType>()); } @@ -2171,7 +2171,7 @@ namespace __parallel { typedef iterator_traits<_RAIter> _TraitsType; typedef typename _TraitsType::value_type _ValueType; - _GLIBCXX_STD_P::partial_sort(__begin, __middle, __end, + __gnu_parallel::partial_sort(__begin, __middle, __end, std::less<_ValueType>()); } @@ -2241,7 +2241,7 @@ namespace __parallel max_element(_FIterator __begin, _FIterator __end) { typedef typename iterator_traits<_FIterator>::value_type _ValueType; - return _GLIBCXX_STD_P::max_element(__begin, __end, + return __gnu_parallel::max_element(__begin, __end, std::less<_ValueType>()); } @@ -2333,7 +2333,7 @@ namespace __parallel min_element(_FIterator __begin, _FIterator __end) { typedef typename iterator_traits<_FIterator>::value_type _ValueType; - return _GLIBCXX_STD_P::min_element(__begin, __end, + return __gnu_parallel::min_element(__begin, __end, std::less<_ValueType>()); } diff --git a/libstdc++-v3/include/parallel/algobase.h b/libstdc++-v3/include/parallel/algobase.h index 754c2814574..a6fd6cd4331 100644 --- a/libstdc++-v3/include/parallel/algobase.h +++ b/libstdc++-v3/include/parallel/algobase.h @@ -142,7 +142,8 @@ namespace __parallel inline bool equal(_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2) { - return mismatch(__begin1, __end1, __begin2).first == __end1; + return __gnu_parallel::mismatch(__begin1, __end1, __begin2).first + == __end1; } // Public interface @@ -151,7 +152,8 @@ namespace __parallel equal(_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _Predicate __pred) { - return mismatch(__begin1, __end1, __begin2, __pred).first == __end1; + return __gnu_parallel::mismatch(__begin1, __end1, __begin2, __pred).first + == __end1; } // Sequential fallback diff --git a/libstdc++-v3/include/parallel/numeric b/libstdc++-v3/include/parallel/numeric index fb1fce257c4..b779aae8d6d 100644 --- a/libstdc++-v3/include/parallel/numeric +++ b/libstdc++-v3/include/parallel/numeric @@ -283,7 +283,7 @@ namespace __parallel typedef typename __gnu_parallel::_Multiplies<_ValueType1, _ValueType2>::result_type _MultipliesResultType; - return _GLIBCXX_STD_P::inner_product(__first1, __last1, __first2, __init, + return __gnu_parallel::inner_product(__first1, __last1, __first2, __init, __gnu_parallel::_Plus<_Tp, _MultipliesResultType>(), __gnu_parallel:: _Multiplies<_ValueType1, _ValueType2>(), @@ -303,7 +303,7 @@ namespace __parallel typedef typename __gnu_parallel::_Multiplies<_ValueType1, _ValueType2>::result_type _MultipliesResultType; - return _GLIBCXX_STD_P::inner_product(__first1, __last1, __first2, __init, + return __gnu_parallel::inner_product(__first1, __last1, __first2, __init, __gnu_parallel::_Plus<_Tp, _MultipliesResultType>(), __gnu_parallel:: _Multiplies<_ValueType1, _ValueType2>()); @@ -359,7 +359,7 @@ namespace __parallel partial_sum(_IIter __begin, _IIter __end, _OutputIterator __result) { typedef typename iterator_traits<_IIter>::value_type _ValueType; - return _GLIBCXX_STD_P::partial_sum(__begin, __end, + return __gnu_parallel::partial_sum(__begin, __end, __result, std::plus<_ValueType>()); } |

