thrust::unique_count
Defined in thrust/unique.h
-
template<typename DerivedPolicy, typename ForwardIterator, typename BinaryPredicate>
thrust::iterator_traits<ForwardIterator>::difference_type thrust::unique_count(const thrust::detail::execution_policy_base<DerivedPolicy> &exec, ForwardIterator first, ForwardIterator last, BinaryPredicate binary_pred) unique_count
counts runs of equal elements in the range[first, last)
with the same value,This version of
unique_count
uses the function objectbinary_pred
to test for equality.The algorithm’s execution is parallelized as determined by
exec
.The following code snippet demonstrates how to use
unique_count
to determine a number of runs of equal elements using thethrust::host
execution policy for parallelization:#include <thrust/unique.h> #include <thrust/execution_policy.h> ... const int N = 7; int A[N] = {1, 3, 3, 3, 2, 2, 1}; int count = thrust::unique_count(thrust::host, A, A + N, thrust::equal_to<int>()); // count is now 4
See also
unique_copy
See also
unique_by_key_copy
See also
reduce_by_key_copy
- Parameters
exec – The execution policy to use for parallelization.
first – The beginning of the input range.
last – The end of the input range.
binary_pred – The binary predicate used to determine equality.
- Template Parameters
DerivedPolicy – The name of the derived execution policy.
ForwardIterator – is a model of Forward Iterator, and
ForwardIterator's
value_type
is convertible toBinaryPredicate's
first_argument_type
and toBinaryPredicate's
second_argument_type
.BinaryPredicate – is a model of Binary Predicate.
- Returns
The number of runs of equal elements in
[first, new_last)