authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-11-03 19:49:39-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-11-03 20:05:32-07:00
log09d13104bee07099c53f6df75e6c619793f43f18
treeb00967a36eb944faeebafa572ec8ca42ceb60346
parent815b85d8a265fb8ffb5425046d638441a5a82ab1

std.BitSet: add setAll and unsetAll methods


1 files changed, 12 insertions(+), 0 deletions(-)

lib/std/bit_set.zig+12
......@@ -859,6 +859,18 @@ pub const DynamicBitSetUnmanaged = struct {
859859 self.masks[maskIndex(index)] &= ~maskBit(index);
860860 }
861861
862 /// Set all bits to 0.
863 pub fn unsetAll(self: *Self) void {
864 const masks_len = numMasks(self.bit_length);
865 @memset(self.masks[0..masks_len], 0);
866 }
867
868 /// Set all bits to 1.
869 pub fn setAll(self: *Self) void {
870 const masks_len = numMasks(self.bit_length);
871 @memset(self.masks[0..masks_len], std.math.maxInt(MaskInt));
872 }
873
862874 /// Flips a specific bit in the bit set
863875 pub fn toggle(self: *Self, index: usize) void {
864876 assert(index < self.bit_length);