DoxigAlpha

toggleSet

Flips all bits in this bit set which are present in the toggles bit set. Both sets must have the same bit_length.

Function parameters

Parameters

#
self:*Self

A bit set with runtime-known size, backed by an allocated slice

Types

#
DynamicBitSetUnmanaged
A bit set with runtime-known size, backed by an allocated slice
DynamicBitSet
A bit set with runtime-known size, backed by an allocated slice
IteratorOptions
Options for configuring an iterator over a bit set
Range
A range of indices within a bitset.

Returns the optimal static bit set type for the specified number

Functions

#
StaticBitSet
Returns the optimal static bit set type for the specified number
IntegerBitSet
A bit set with static size, which is backed by a single integer.
ArrayBitSet
A bit set with static size, which is backed by an array of usize.

Source

Implementation

#
pub fn toggleSet(self: *Self, toggles: Self) void {
    assert(toggles.bit_length == self.bit_length);
    const num_masks = numMasks(self.bit_length);
    for (self.masks[0..num_masks], 0..) |*mask, i| {
        mask.* ^= toggles.masks[i];
    }
}