29 #ifndef NVBLASTFIXEDBITMAP_H 30 #define NVBLASTFIXEDBITMAP_H 68 m_bitsCount = bitsCount;
73 return (bitsCount + 31) >> 5;
83 memset(data(), 0,
getWordsCount(m_bitsCount) *
sizeof(uint32_t));
89 uint32_t* mem = data();
90 memset(mem, 0xFF, wordCount *
sizeof(uint32_t));
91 const uint32_t bitsRemainder = m_bitsCount & 31;
92 if (bitsRemainder > 0)
94 mem[wordCount - 1] &= ~(0xFFFFFFFF << bitsRemainder);
98 int test(uint32_t index)
const 101 return data()[index >> 5] & (1 << (index & 31));
104 void set(uint32_t index)
107 data()[index >> 5] |= 1 << (index & 31);
113 data()[index >> 5] &= ~(1 << (index & 31));
117 uint32_t m_bitsCount;
121 return (uint32_t*)((
char*)
this +
sizeof(
FixedBitmap));
126 return (uint32_t*)((
char*)
this +
sizeof(
FixedBitmap));
136 #endif // ifndef NVBLASTFIXEDBITMAP_H static size_t requiredMemorySize(uint32_t bitsCount)
Definition: NvBlastFixedBitmap.h:76
static uint32_t getWordsCount(uint32_t bitsCount)
Definition: NvBlastFixedBitmap.h:71
int test(uint32_t index) const
Definition: NvBlastFixedBitmap.h:98
void reset(uint32_t index)
Definition: NvBlastFixedBitmap.h:110
#define NVBLAST_ASSERT(exp)
Definition: NvBlastAssert.h:37
Definition: NvBlastFixedBitmap.h:63
FixedBitmap(uint32_t bitsCount)
Definition: NvBlastFixedBitmap.h:66
void fill()
Definition: NvBlastFixedBitmap.h:86
NV_INLINE T align16(T value)
Definition: NvBlastMemory.h:46
Definition: NvBlastArray.h:37
#define NV_FORCE_INLINE
Definition: NvPreprocessor.h:365
void clear()
Definition: NvBlastFixedBitmap.h:81