Kokkos Core Kernels Package Version of the Day
Loading...
Searching...
No Matches
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=0u)
 
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>
class Kokkos::Bitset< Device >

A thread safe view to a bitset.

Definition at line 48 of file Kokkos_Bitset.hpp.

Constructor & Destructor Documentation

◆ Bitset()

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

constructor arg_size := number of bit in set

Definition at line 76 of file Kokkos_Bitset.hpp.

Member Function Documentation

◆ size()

template<typename Device >
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 103 of file Kokkos_Bitset.hpp.

◆ count()

template<typename Device >
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 107 of file Kokkos_Bitset.hpp.

◆ set() [1/2]

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

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

Definition at line 114 of file Kokkos_Bitset.hpp.

◆ reset() [1/2]

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

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

Definition at line 130 of file Kokkos_Bitset.hpp.

◆ clear()

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

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

Definition at line 134 of file Kokkos_Bitset.hpp.

◆ set() [2/2]

template<typename Device >
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 139 of file Kokkos_Bitset.hpp.

◆ reset() [2/2]

template<typename Device >
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 152 of file Kokkos_Bitset.hpp.

◆ test()

template<typename Device >
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 165 of file Kokkos_Bitset.hpp.

◆ max_hint()

template<typename Device >
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 182 of file Kokkos_Bitset.hpp.

◆ find_any_set_near()

template<typename Device >
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 189 of file Kokkos_Bitset.hpp.

◆ find_any_unset_near()

template<typename Device >
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 212 of file Kokkos_Bitset.hpp.


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