tiny.simd.BitSet64
Defined in bitset.
API (14)
Actions
Public operations.
Types and contracts
Public types and contracts.
Fields and members
Public fields and members.
Source
Source: lib/simd/src/bitset.zig:6
zig
pub const BitSet64 = struct { bits: u64 = 0, pub const max_size: usize = 64; pub fn maxSize(_: *const @This()) usize { return max_size; } pub fn set(self: *@This(), index: usize) void { std.debug.assert(index < max_size); self.bits |= bit(index); std.debug.assert(self.get(index)); } pub fn setNonzeroBitsFrom64(self: *@This(), bits: u64) void { self.bits |= bits; } pub fn clear(self: *@This(), index: usize) void { std.debug.assert(index < max_size); self.bits &= ~bit(index); std.debug.assert(!self.get(index)); } pub fn get(self: *const @This(), index: usize) bool { std.debug.assert(index < max_size); return self.bits & bit(index) != 0; } pub fn any(self: *const @This()) bool { return self.bits != 0; } pub fn all(self: *const @This()) bool { return self.bits == std.math.maxInt(u64); } pub fn first(self: *const @This()) usize { std.debug.assert(self.any()); return firstBit(self.bits); } pub fn first0(self: *const @This()) usize { std.debug.assert(!self.all()); return firstBit(~self.bits); } pub fn get64(self: *const @This()) u64 { return self.bits; } pub fn foreach(self: *const @This(), function: anytype) void { visitWord(self.bits, 0, function); } pub fn count(self: *const @This()) usize { return @popCount(self.bits); }};Source: lib/simd/src/root.zig:538
zig
pub const BitSet64 = bitset.BitSet64;Audit
| Definitions | 14 |
|---|---|
| Public names | 28 |
| Members | 1 |
| Version | 26.7.0 |
| Revision | daab053ee433 |