Kokkos Core Kernels Package  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
Kokkos::Bitset< Device > Class Template Reference

A thread safe view to a bitset. More...

#include <Kokkos_Bitset.hpp>

Public Member Functions

 Bitset (unsigned arg_size)
 arg_size := number of bit in set More...
 
template<class... P>
 Bitset (const Impl::ViewCtorProp< P...> &arg_prop, unsigned arg_size)
 
KOKKOS_FORCEINLINE_FUNCTION
unsigned 
size () const
 
unsigned count () const
 
void set ()
 
void reset ()
 
void clear ()
 
KOKKOS_FORCEINLINE_FUNCTION bool set (unsigned i) const
 
KOKKOS_FORCEINLINE_FUNCTION bool reset (unsigned i) const
 
KOKKOS_FORCEINLINE_FUNCTION bool test (unsigned i) const
 
KOKKOS_FORCEINLINE_FUNCTION
unsigned 
max_hint () const
 
KOKKOS_INLINE_FUNCTION
Kokkos::pair< bool, unsigned > 
find_any_set_near (unsigned hint, unsigned scan_direction=BIT_SCAN_FORWARD_MOVE_HINT_FORWARD) const
 
KOKKOS_INLINE_FUNCTION
Kokkos::pair< bool, unsigned > 
find_any_unset_near (unsigned hint, unsigned scan_direction=BIT_SCAN_FORWARD_MOVE_HINT_FORWARD) const
 

Detailed Description

template<typename Device = Kokkos::DefaultExecutionSpace>
class Kokkos::Bitset< Device >

A thread safe view to a bitset.

Definition at line 32 of file Kokkos_Bitset.hpp.

Constructor & Destructor Documentation

template<typename Device = Kokkos::DefaultExecutionSpace>
Kokkos::Bitset< Device >::Bitset ( unsigned  arg_size)
inline

arg_size := number of bit in set

Definition at line 80 of file Kokkos_Bitset.hpp.

template<typename Device = Kokkos::DefaultExecutionSpace>
template<class... P>
Kokkos::Bitset< Device >::Bitset ( const Impl::ViewCtorProp< P...> &  arg_prop,
unsigned  arg_size 
)
inline

Ensure that allocation properties are consistent.

Update 'label' property and allocate.

Definition at line 83 of file Kokkos_Bitset.hpp.

Member Function Documentation

template<typename Device = Kokkos::DefaultExecutionSpace>
KOKKOS_FORCEINLINE_FUNCTION unsigned Kokkos::Bitset< Device >::size ( ) const
inline

number of bits in the set can be call from the host or the device

Definition at line 122 of file Kokkos_Bitset.hpp.

template<typename Device = Kokkos::DefaultExecutionSpace>
unsigned Kokkos::Bitset< Device >::count ( ) const
inline

number of bits which are set to 1 can only be called from the host

Definition at line 126 of file Kokkos_Bitset.hpp.

template<typename Device = Kokkos::DefaultExecutionSpace>
void Kokkos::Bitset< Device >::set ( )
inline

set all bits to 1 can only be called from the host

Definition at line 133 of file Kokkos_Bitset.hpp.

template<typename Device = Kokkos::DefaultExecutionSpace>
void Kokkos::Bitset< Device >::reset ( )
inline

set all bits to 0 can only be called from the host

Definition at line 149 of file Kokkos_Bitset.hpp.

template<typename Device = Kokkos::DefaultExecutionSpace>
void Kokkos::Bitset< Device >::clear ( )
inline

set all bits to 0 can only be called from the host

Definition at line 153 of file Kokkos_Bitset.hpp.

template<typename Device = Kokkos::DefaultExecutionSpace>
KOKKOS_FORCEINLINE_FUNCTION bool Kokkos::Bitset< Device >::set ( unsigned  i) const
inline

set i'th bit to 1 can only be called from the device

Definition at line 158 of file Kokkos_Bitset.hpp.

template<typename Device = Kokkos::DefaultExecutionSpace>
KOKKOS_FORCEINLINE_FUNCTION bool Kokkos::Bitset< Device >::reset ( unsigned  i) const
inline

set i'th bit to 0 can only be called from the device

Definition at line 171 of file Kokkos_Bitset.hpp.

template<typename Device = Kokkos::DefaultExecutionSpace>
KOKKOS_FORCEINLINE_FUNCTION bool Kokkos::Bitset< Device >::test ( unsigned  i) const
inline

return true if the i'th bit set to 1 can only be called from the device

Definition at line 184 of file Kokkos_Bitset.hpp.

template<typename Device = Kokkos::DefaultExecutionSpace>
KOKKOS_FORCEINLINE_FUNCTION unsigned Kokkos::Bitset< Device >::max_hint ( ) const
inline

used with find_any_set_near or find_any_unset_near functions returns the max number of times those functions should be call when searching for an available bit

Definition at line 201 of file Kokkos_Bitset.hpp.

template<typename Device = Kokkos::DefaultExecutionSpace>
KOKKOS_INLINE_FUNCTION Kokkos::pair<bool, unsigned> Kokkos::Bitset< Device >::find_any_set_near ( unsigned  hint,
unsigned  scan_direction = BIT_SCAN_FORWARD_MOVE_HINT_FORWARD 
) const
inline

find a bit set to 1 near the hint returns a pair< bool, unsigned> where if result.first is true then result.second is the bit found and if result.first is false the result.second is a new hint

Definition at line 208 of file Kokkos_Bitset.hpp.

template<typename Device = Kokkos::DefaultExecutionSpace>
KOKKOS_INLINE_FUNCTION Kokkos::pair<bool, unsigned> Kokkos::Bitset< Device >::find_any_unset_near ( unsigned  hint,
unsigned  scan_direction = BIT_SCAN_FORWARD_MOVE_HINT_FORWARD 
) const
inline

find a bit set to 0 near the hint returns a pair< bool, unsigned> where if result.first is true then result.second is the bit found and if result.first is false the result.second is a new hint

Definition at line 231 of file Kokkos_Bitset.hpp.


The documentation for this class was generated from the following file: