aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/parallel
diff options
context:
space:
mode:
authorJohannes Singler <singler@kit.edu>2011-01-26 09:18:48 +0000
committerJohannes Singler <singler@gcc.gnu.org>2011-01-26 09:18:48 +0000
commit52fe3d5beeb035fb4ae717f79f9825bf1898b67c (patch)
tree7b9ee2bee4f87566cbb90b64e074cf85209740bb /libstdc++-v3/include/parallel
parent8717f52fde18aeab7d3021933ceb092048c7d561 (diff)
downloadgcc-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.h14
-rw-r--r--libstdc++-v3/include/parallel/algobase.h6
-rw-r--r--libstdc++-v3/include/parallel/numeric6
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>());
}