thrust::minmax_element
Defined in thrust/extrema.h
-
template<typename DerivedPolicy, typename ForwardIterator>
thrust::pair<ForwardIterator, ForwardIterator> thrust::minmax_element(const thrust::detail::execution_policy_base<DerivedPolicy> &exec, ForwardIterator first, ForwardIterator last) minmax_element
finds the smallest and largest elements in the range[first, last)
. It returns a pair of iterators(imin, imax)
whereimin
is the same iterator returned bymin_element
andimax
is the same iterator returned bymax_element
. This function is potentially more efficient than separate calls tomin_element
andmax_element
.The algorithm’s execution is parallelized as determined by
exec
.#include <thrust/extrema.h> #include <thrust/execution_policy.h> ... int data[6] = {1, 0, 2, 2, 1, 3}; thrust::pair<int *, int *> result = thrust::minmax_element(thrust::host, data, data + 6); // result.first is data + 1 // result.second is data + 5 // *result.first is 0 // *result.second is 3
See also
min_element
See also
max_element
- Parameters
exec – The execution policy to use for parallelization.
first – The beginning of the sequence.
last – The end of the sequence.
- Template Parameters
DerivedPolicy – The name of the derived execution policy.
ForwardIterator – is a model of Forward Iterator, and
ForwardIterator's
value_type
is a model of LessThan Comparable.
- Returns
A pair of iterator pointing to the smallest and largest elements of the range
[first, last)
, if it is not an empty range;last
, otherwise.