24 #include <type_traits>
28 namespace experimental {
31 template <
typename index_t =
size_t,
typename storage_t = std::
byte>
53 data_[bin_from_index(index)] |= mask_in_bin(index);
58 data_[bin_from_index(index)] &= ~mask_in_bin(index);
64 if (index < num_bits_) { result = ((data_[bin_from_index(index)] & mask_in_bin(index)) != 0); }
79 data_[i] &= other.data_[i];
86 data_[i] |= other.data_[i];
93 data_[i] ^= other.data_[i];
#define DEVICE
Definition: gpu_support.hpp:34
#define HOST
Definition: gpu_support.hpp:33
uint32_t index_type
Definition: index_type.hpp:21
Definition: dbscan.hpp:27
Definition: bitset.hpp:32
HOST DEVICE auto & set(index_type index)
Definition: bitset.hpp:51
HOST DEVICE auto size() const
Definition: bitset.hpp:44
index_t index_type
Definition: bitset.hpp:34
HOST DEVICE auto & flip()
Definition: bitset.hpp:67
HOST DEVICE auto & operator^=(bitset< storage_type > const &other)
Definition: bitset.hpp:90
HOST DEVICE auto bin_count() const
Definition: bitset.hpp:45
HOST DEVICE auto & operator~() const
Definition: bitset.hpp:97
HOST DEVICE bitset(storage_type *data, index_type size)
Definition: bitset.hpp:40
HOST DEVICE auto & operator&=(bitset< storage_type > const &other)
Definition: bitset.hpp:76
HOST DEVICE auto & clear(index_type index)
Definition: bitset.hpp:56
HOST DEVICE bitset()
Definition: bitset.hpp:38
HOST DEVICE auto & operator|=(bitset< storage_type > const &other)
Definition: bitset.hpp:83
storage_t storage_type
Definition: bitset.hpp:33
HOST DEVICE bitset(storage_type *data)
Definition: bitset.hpp:42
HOST DEVICE auto test(index_type index) const
Definition: bitset.hpp:61
constexpr static auto const bin_width
Definition: bitset.hpp:36