===================================================================
@@ -283,7 +283,7 @@
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 @@
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 @@
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>());
}
===================================================================
@@ -142,7 +142,8 @@
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 @@
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
===================================================================
@@ -292,7 +292,7 @@
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 @@
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 @@
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 @@
{
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 @@
{
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 @@
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 @@
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>());
}
===================================================================
@@ -30,7 +30,56 @@
const value_type c(0);
- vector_type v(10);
+ vector_type v(10), result(20);
+
+ std::equal(v.begin(), v.end(), v.begin());
+ std::equal(v.begin(), v.end(), v.begin(), std::equal_to<value_type>());
+ __gnu_parallel::equal(v.begin(), v.end(), v.begin());
+ __gnu_parallel::equal(v.begin(), v.end(), v.begin(),
+ std::equal_to<value_type>());
+
std::find(v.begin(), v.end(), c);
__gnu_parallel::find(v.begin(), v.end(), c);
+
+ std::find_first_of(v.begin(), v.end(), v.begin(), v.end());
+ std::find_first_of(v.begin(), v.end(), v.begin(), v.end(),
+ std::equal_to<value_type>());
+ __gnu_parallel::find_first_of(v.begin(), v.end(), v.begin(), v.end());
+ __gnu_parallel::find_first_of(v.begin(), v.end(), v.begin(), v.end(),
+ std::equal_to<value_type>());
+
+ std::search_n(v.begin(), v.end(), 5, value_type(1));
+ std::search_n(v.begin(), v.end(), 5, value_type(1),
+ std::equal_to<value_type>());
+ __gnu_parallel::search_n(v.begin(), v.end(), 5, value_type(1));
+ __gnu_parallel::search_n(v.begin(), v.end(), 5, value_type(1),
+ std::equal_to<value_type>());
+
+ std::merge(v.begin(), v.end(), v.begin(), v.end(), result.begin());
+ std::merge(v.begin(), v.end(), v.begin(), v.end(), result.begin(),
+ std::less<value_type>());
+ __gnu_parallel::merge(v.begin(), v.end(), v.begin(), v.end(),
+ result.begin());
+ __gnu_parallel::merge(v.begin(), v.end(), v.begin(), v.end(),
+ result.begin(), std::less<value_type>());
+
+ std::nth_element(v.begin(), v.begin() + 5, v.end());
+ std::nth_element(v.begin(), v.begin() + 5, v.end(), std::less<value_type>());
+ __gnu_parallel::nth_element(v.begin(), v.begin() + 5, v.end());
+ __gnu_parallel::nth_element(v.begin(), v.begin() + 5, v.end(), std::less<value_type>());
+
+ std::partial_sort(v.begin(), v.begin() + 5, v.end());
+ std::partial_sort(v.begin(), v.begin() + 5, v.end(), std::less<value_type>());
+ __gnu_parallel::partial_sort(v.begin(), v.begin() + 5, v.end());
+ __gnu_parallel::partial_sort(v.begin(), v.begin() + 5, v.end(), std::less<value_type>());
+
+ std::min_element(v.begin(), v.end());
+ std::min_element(v.begin(), v.end(), std::less<value_type>());
+ __gnu_parallel::min_element(v.begin(), v.end());
+ __gnu_parallel::min_element(v.begin(), v.end(), std::less<value_type>());
+
+ std::max_element(v.begin(), v.end());
+ std::max_element(v.begin(), v.end(), std::less<value_type>());
+ __gnu_parallel::max_element(v.begin(), v.end());
+ __gnu_parallel::max_element(v.begin(), v.end(), std::less<value_type>());
}
===================================================================
@@ -35,7 +35,56 @@
const value_type c(0);
- vector_type v(10);
+ vector_type v(10), result(20);
+
+ std::equal(v.begin(), v.end(), v.begin());
+ std::equal(v.begin(), v.end(), v.begin(), std::equal_to<value_type>());
+ __gnu_parallel::equal(v.begin(), v.end(), v.begin());
+ __gnu_parallel::equal(v.begin(), v.end(), v.begin(),
+ std::equal_to<value_type>());
+
std::find(v.begin(), v.end(), c);
__gnu_parallel::find(v.begin(), v.end(), c);
+
+ std::find_first_of(v.begin(), v.end(), v.begin(), v.end());
+ std::find_first_of(v.begin(), v.end(), v.begin(), v.end(),
+ std::equal_to<value_type>());
+ __gnu_parallel::find_first_of(v.begin(), v.end(), v.begin(), v.end());
+ __gnu_parallel::find_first_of(v.begin(), v.end(), v.begin(), v.end(),
+ std::equal_to<value_type>());
+
+ std::search_n(v.begin(), v.end(), 5, value_type(1));
+ std::search_n(v.begin(), v.end(), 5, value_type(1),
+ std::equal_to<value_type>());
+ __gnu_parallel::search_n(v.begin(), v.end(), 5, value_type(1));
+ __gnu_parallel::search_n(v.begin(), v.end(), 5, value_type(1),
+ std::equal_to<value_type>());
+
+ std::merge(v.begin(), v.end(), v.begin(), v.end(), result.begin());
+ std::merge(v.begin(), v.end(), v.begin(), v.end(), result.begin(),
+ std::less<value_type>());
+ __gnu_parallel::merge(v.begin(), v.end(), v.begin(), v.end(),
+ result.begin());
+ __gnu_parallel::merge(v.begin(), v.end(), v.begin(), v.end(),
+ result.begin(), std::less<value_type>());
+
+ std::nth_element(v.begin(), v.begin() + 5, v.end());
+ std::nth_element(v.begin(), v.begin() + 5, v.end(), std::less<value_type>());
+ __gnu_parallel::nth_element(v.begin(), v.begin() + 5, v.end());
+ __gnu_parallel::nth_element(v.begin(), v.begin() + 5, v.end(), std::less<value_type>());
+
+ std::partial_sort(v.begin(), v.begin() + 5, v.end());
+ std::partial_sort(v.begin(), v.begin() + 5, v.end(), std::less<value_type>());
+ __gnu_parallel::partial_sort(v.begin(), v.begin() + 5, v.end());
+ __gnu_parallel::partial_sort(v.begin(), v.begin() + 5, v.end(), std::less<value_type>());
+
+ std::min_element(v.begin(), v.end());
+ std::min_element(v.begin(), v.end(), std::less<value_type>());
+ __gnu_parallel::min_element(v.begin(), v.end());
+ __gnu_parallel::min_element(v.begin(), v.end(), std::less<value_type>());
+
+ std::max_element(v.begin(), v.end());
+ std::max_element(v.begin(), v.end(), std::less<value_type>());
+ __gnu_parallel::max_element(v.begin(), v.end());
+ __gnu_parallel::max_element(v.begin(), v.end(), std::less<value_type>());
}
===================================================================
@@ -32,6 +32,17 @@
const value_type c(0);
vector_type v(10);
+
std::accumulate(v.begin(), v.end(), value_type(1));
+ std::accumulate(v.begin(), v.end(), value_type(1), std::plus<value_type>());
__gnu_parallel::accumulate(v.begin(), v.end(), value_type(1));
+ __gnu_parallel::accumulate(v.begin(), v.end(), value_type(1),
+ std::plus<value_type>());
+
+ std::inner_product(v.begin(), v.end(), v.begin(), value_type(1));
+ std::inner_product(v.begin(), v.end(), v.begin(), value_type(1),
+ std::multiplies<value_type>(), std::plus<value_type>());
+ __gnu_parallel::inner_product(v.begin(), v.end(), v.begin(), value_type(1));
+ __gnu_parallel::inner_product(v.begin(), v.end(), v.begin(), value_type(1),
+ std::multiplies<value_type>(), std::plus<value_type>());
}
===================================================================
@@ -37,6 +37,17 @@
const value_type c(0);
vector_type v(10);
+
std::accumulate(v.begin(), v.end(), value_type(1));
+ std::accumulate(v.begin(), v.end(), value_type(1), std::plus<value_type>());
__gnu_parallel::accumulate(v.begin(), v.end(), value_type(1));
+ __gnu_parallel::accumulate(v.begin(), v.end(), value_type(1),
+ std::plus<value_type>());
+
+ std::inner_product(v.begin(), v.end(), v.begin(), value_type(1));
+ std::inner_product(v.begin(), v.end(), v.begin(), value_type(1),
+ std::multiplies<value_type>(), std::plus<value_type>());
+ __gnu_parallel::inner_product(v.begin(), v.end(), v.begin(), value_type(1));
+ __gnu_parallel::inner_product(v.begin(), v.end(), v.begin(), value_type(1),
+ std::multiplies<value_type>(), std::plus<value_type>());
}