count
#
Header: <Kokkos_StdAlgorithms.hpp>
Description#
Returns the number of elements in a range or in rank-1 View
that are equal to a target value.
Interface#
Warning
This is currently inside the Kokkos::Experimental
namespace.
Overload set accepting execution space#
template <class ExecutionSpace, class IteratorType, class T>
typename IteratorType::difference_type count(const ExecutionSpace& exespace,
IteratorType first,
IteratorType last, (1)
const T& value);
template <class ExecutionSpace, class IteratorType, class T>
typename IteratorType::difference_type count(const std::string& label,
const ExecutionSpace& exespace,
IteratorType first,
IteratorType last, (2)
const T& value);
template <class ExecutionSpace, class DataType, class... Properties, class T>
auto count(const ExecutionSpace& exespace, (3)
const ::Kokkos::View<DataType, Properties...>& view, const T& value);
template <class ExecutionSpace, class DataType, class... Properties, class T>
auto count(const std::string& label, const ExecutionSpace& exespace, (4)
const ::Kokkos::View<DataType, Properties...>& view,
const T& value);
Overload set accepting a team handle#
New in version 4.2.
template <class TeamHandleType, class IteratorType, class T>
KOKKOS_FUNCTION
typename IteratorType::difference_type count(const TeamHandleType& teamHandle,
IteratorType first,
IteratorType last, (5)
const T& value);
template <class TeamHandleType, class DataType, class... Properties, class T>
KOKKOS_FUNCTION
auto count(const TeamHandleType& teamHandle, (6)
const ::Kokkos::View<DataType, Properties...>& view,
const T& value);
Parameters and Requirements#
exespace
: execution space instanceteamHandle
: team handle instance given inside a parallel region when using a TeamPolicylabel
: string forwarded to internal parallel kernels for debugging purposes1: The default string is “Kokkos::count_iterator_api_default”.
3: The default string is “Kokkos::count_view_api_default”.
NOTE: overloads accepting a team handle do not use a label internally
first, last
: range of elements to search inmust be random access iterators, e.g., returned from
Kokkos::Experimental::(c)begin/(c)end
must represent a valid range, i.e.,
last >= first
must be accessible from
exespace
or from the execution space associated with the team handle
view
:must be rank-1, and have
LayoutLeft
,LayoutRight
, orLayoutStride
must be accessible from
exespace
or from the execution space associated with the team handle
Return Value#
Returns the number of elements in the range first, last
or in view
that are equal to value
.