44 return (
BitInt(1) << n) - 1;
61 return ((
BitInt(1) << end) - 1) & ~((
BitInt(1) << start) - 1);
68 return BitInt(1) << bit_index;
112 const BitInt value = *int_;
113 const BitInt masked_value = value & mask_;
114 return masked_value != 0;
117 operator bool()
const
153 bit_ref.mask_ = mask_;
162 const BitInt value = *int_;
163 const BitInt masked_value = value & mask_;
164 return masked_value != 0;
167 operator bool()
const
192 void set(
const bool value)
217 | (mask_ & ~(value_int - 1));
244using bits::MutableBitRef;
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
BitRef(const BitInt *data, const int64_t bit_index)
MutableBitRef(BitInt *data, const int64_t bit_index)
MutableBitRef & operator|=(const bool value)
void set(const bool value)
void set_branchless(const bool value)
MutableBitRef & operator&=(const bool value)
static constexpr BitInt BitIndexMask
static constexpr int64_t BitsPerInt
BitInt * int_containing_bit(BitInt *data, const int64_t bit_index)
static constexpr int64_t BitToIntIndexShift
BitInt mask_single_bit(const int64_t bit_index)
std::ostream & operator<<(std::ostream &stream, const BitRef &bit)
BitInt mask_last_n_bits(const int64_t n)
BitInt mask_first_n_bits(const int64_t n)
BitInt mask_range_bits(const int64_t start, const int64_t size)
unsigned __int64 uint64_t