diff options
author | Johannes Singler <singler@kit.edu> | 2011-01-26 09:18:48 +0000 |
---|---|---|
committer | Johannes Singler <singler@gcc.gnu.org> | 2011-01-26 09:18:48 +0000 |
commit | 52fe3d5beeb035fb4ae717f79f9825bf1898b67c (patch) | |
tree | 7b9ee2bee4f87566cbb90b64e074cf85209740bb /libstdc++-v3/include/parallel | |
parent | 8717f52fde18aeab7d3021933ceb092048c7d561 (diff) | |
download | gcc-52fe3d5beeb035fb4ae717f79f9825bf1898b67c.zip gcc-52fe3d5beeb035fb4ae717f79f9825bf1898b67c.tar.gz gcc-52fe3d5beeb035fb4ae717f79f9825bf1898b67c.tar.bz2 |
numeric (inner_product, [...]): Qualify subsequent call with __gnu_parallel instead of _GLIBCXX_STD_P to...
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.
From-SVN: r169280
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 cc2fc67..a24e557 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 754c281..a6fd6cd 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 fb1fce2..b779aae 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>()); } |