thrust::mismatch
Defined in thrust/mismatch.h
-
template<typename DerivedPolicy, typename InputIterator1, typename InputIterator2, typename BinaryPredicate>
thrust::pair<InputIterator1, InputIterator2> thrust::mismatch(const thrust::detail::execution_policy_base<DerivedPolicy> &exec, InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, BinaryPredicate pred) mismatch
finds the first position where the two ranges[first1, last1)
and[first2, first2 + (last1 - first1))
differ. The two versions ofmismatch
use different tests for whether elements differ.This version of
mismatch
finds the first iteratori
in[first1, last1)
such thatpred(*i, *(first2 + (i - first1))
isfalse
. The return value is apair
whose first element isi
and whose second element is*(first2 + (i - first1))
. If no such iteratori
exists, the return value is apair
whose first element islast1
and whose second element is*(first2 + (last1 - first1))
.The algorithm’s execution is parallelized as determined by
exec
.#include <thrust/mismatch.h> #include <thrust/device_vector.h> #include <thrust/execution_policy.h> ... thrust::device_vector<int> vec1(4); thrust::device_vector<int> vec2(4); vec1[0] = 0; vec2[0] = 0; vec1[1] = 5; vec2[1] = 5; vec1[2] = 3; vec2[2] = 8; vec1[3] = 7; vec2[3] = 7; using Iterator = thrust::device_vector<int>::iterator; thrust::pair<Iterator,Iterator> result; result = thrust::mismatch(thrust::device, vec1.begin(), vec1.end(), vec2.begin(), thrust::equal_to<int>()); // result.first is vec1.begin() + 2 // result.second is vec2.begin() + 2
See also
find
See also
find_if
- Parameters
exec – The execution policy to use for parallelization.
first1 – The beginning of the first sequence.
last1 – The end of the first sequence.
first2 – The beginning of the second sequence.
pred – The binary predicate to compare elements.
- Template Parameters
DerivedPolicy – The name of the derived execution policy.
InputIterator1 – is a model of Input Iterator.
InputIterator2 – is a model of Input Iterator.
Predicate – is a model of Input Iterator.
- Returns
The first position where the sequences differ.