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¶
Added 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
.