Go to the documentation of this file.
22 #ifndef __bitsetHD_hpp__
23 #define __bitsetHD_hpp__
36 template<
typename blockType,
typename MemorySpace=
void>
43 using blockViewType = Kokkos::View<BlockType*, Kokkos::LayoutLeft, MemorySpace>;
112 Kokkos::deep_copy(
blocks_, ~0);
170 bool is_set = block & mask;
223 #endif //__bitsetHD_hpp__
static INLINE_FUNCTION_HD BlockType bitIndex(int32 pos)
INLINE_FUNCTION_HD void reset(int32 pos) const
INLINE_FUNCTION_HD void set(int32 pos) const
INLINE_FUNCTION_HD void flip(int32 pos) const
const static int32 blockMask_
static INLINE_FUNCTION_HD BlockType blockMask(int32 pos)
INLINE_FUNCTION_HD int32 size() const
typename blockViewType::execution_space execution_space
static INLINE_FUNCTION_HD int32 blockIndex(int32 pos)
INLINE_FUNCTION_HD int32 numBits() const
bitsetHD & operator=(const bitsetHD &)=default
Kokkos::View< BlockType *, Kokkos::LayoutLeft, MemorySpace > blockViewType
INLINE_FUNCTION_HD bool isSet(int32 pos) const
INLINE_FUNCTION_H void realloc(ViewType1D< Type, Properties... > &view, int32 len)
bitsetHD(const word &name, int32 numBits)
INLINE_FUNCTION_H void realloc(int32 numBits)
INLINE_FUNCTION_HD void unset(int32 pos) const
typename blockViewType::device_type deviceType
INLINE_FUNCTION_HD int32 numBlocks() const
#define INLINE_FUNCTION_H
const static int32 bitsPerBlock_
INLINE_FUNCTION_HD bool isSetReset(int32 pos) const
typename blockViewType::memory_space memory_space
INLINE_FUNCTION_HD bool isUnset(int32 pos) const
#define INLINE_FUNCTION_HD
static INLINE_FUNCTION_HD int32 calculateBlockSize(int32 numBits)
INLINE_FUNCTION_HD int32 capacity() const