aboutsummaryrefslogtreecommitdiff
path: root/src/bit_set.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/bit_set.zig')
-rw-r--r--src/bit_set.zig48
1 files changed, 24 insertions, 24 deletions
diff --git a/src/bit_set.zig b/src/bit_set.zig
index d40794473..36f683ea4 100644
--- a/src/bit_set.zig
+++ b/src/bit_set.zig
@@ -121,19 +121,19 @@ pub fn IntegerBitSet(comptime size: u16) type {
if (range.start == range.end) return;
if (MaskInt == u0) return;
- const start_bit = @intCast(ShiftInt, range.start);
+ const start_bit = @as(ShiftInt, @intCast(range.start));
var mask = std.math.boolMask(MaskInt, true) << start_bit;
if (range.end != bit_length) {
- const end_bit = @intCast(ShiftInt, range.end);
- mask &= std.math.boolMask(MaskInt, true) >> @truncate(ShiftInt, @as(usize, @bitSizeOf(MaskInt)) - @as(usize, end_bit));
+ const end_bit = @as(ShiftInt, @intCast(range.end));
+ mask &= std.math.boolMask(MaskInt, true) >> @as(ShiftInt, @truncate(@as(usize, @bitSizeOf(MaskInt)) - @as(usize, end_bit)));
}
self.mask &= ~mask;
mask = std.math.boolMask(MaskInt, value) << start_bit;
if (range.end != bit_length) {
- const end_bit = @intCast(ShiftInt, range.end);
- mask &= std.math.boolMask(MaskInt, value) >> @truncate(ShiftInt, @as(usize, @bitSizeOf(MaskInt)) - @as(usize, end_bit));
+ const end_bit = @as(ShiftInt, @intCast(range.end));
+ mask &= std.math.boolMask(MaskInt, value) >> @as(ShiftInt, @truncate(@as(usize, @bitSizeOf(MaskInt)) - @as(usize, end_bit)));
}
self.mask |= mask;
}
@@ -294,7 +294,7 @@ pub fn IntegerBitSet(comptime size: u16) type {
.reverse => {
const leading_zeroes = @clz(self.bits_remain);
const top_bit = (@bitSizeOf(MaskInt) - 1) - leading_zeroes;
- self.bits_remain &= (@as(MaskInt, 1) << @intCast(ShiftInt, top_bit)) - 1;
+ self.bits_remain &= (@as(MaskInt, 1) << @as(ShiftInt, @intCast(top_bit))) - 1;
return top_bit;
},
}
@@ -304,11 +304,11 @@ pub fn IntegerBitSet(comptime size: u16) type {
fn maskBit(index: usize) MaskInt {
if (MaskInt == u0) return 0;
- return @as(MaskInt, 1) << @intCast(ShiftInt, index);
+ return @as(MaskInt, 1) << @as(ShiftInt, @intCast(index));
}
fn boolMaskBit(index: usize, value: bool) MaskInt {
if (MaskInt == u0) return 0;
- return @as(MaskInt, @intFromBool(value)) << @intCast(ShiftInt, index);
+ return @as(MaskInt, @intFromBool(value)) << @as(ShiftInt, @intCast(index));
}
};
}
@@ -446,10 +446,10 @@ pub fn ArrayBitSet(comptime MaskIntType: type, comptime size: usize) type {
if (num_masks == 0) return;
const start_mask_index = maskIndex(range.start);
- const start_bit = @truncate(ShiftInt, range.start);
+ const start_bit = @as(ShiftInt, @truncate(range.start));
const end_mask_index = maskIndex(range.end);
- const end_bit = @truncate(ShiftInt, range.end);
+ const end_bit = @as(ShiftInt, @truncate(range.end));
if (start_mask_index == end_mask_index) {
var mask1 = std.math.boolMask(MaskInt, true) << start_bit;
@@ -647,13 +647,13 @@ pub fn ArrayBitSet(comptime MaskIntType: type, comptime size: usize) type {
}
inline fn maskBit(index: usize) MaskInt {
- return @as(MaskInt, 1) << @truncate(ShiftInt, index);
+ return @as(MaskInt, 1) << @as(ShiftInt, @truncate(index));
}
inline fn maskIndex(index: usize) usize {
return index >> @bitSizeOf(ShiftInt);
}
inline fn boolMaskBit(index: usize, value: bool) MaskInt {
- return @as(MaskInt, @intFromBool(value)) << @intCast(ShiftInt, index);
+ return @as(MaskInt, @intFromBool(value)) << @as(ShiftInt, @intCast(index));
}
};
}
@@ -744,7 +744,7 @@ pub const DynamicBitSetUnmanaged = struct {
// set the padding bits in the old last item to 1
if (fill and old_masks > 0) {
const old_padding_bits = old_masks * @bitSizeOf(MaskInt) - old_len;
- const old_mask = (~@as(MaskInt, 0)) >> @intCast(ShiftInt, old_padding_bits);
+ const old_mask = (~@as(MaskInt, 0)) >> @as(ShiftInt, @intCast(old_padding_bits));
self.masks[old_masks - 1] |= ~old_mask;
}
@@ -758,7 +758,7 @@ pub const DynamicBitSetUnmanaged = struct {
// Zero out the padding bits
if (new_len > 0) {
const padding_bits = new_masks * @bitSizeOf(MaskInt) - new_len;
- const last_item_mask = (~@as(MaskInt, 0)) >> @intCast(ShiftInt, padding_bits);
+ const last_item_mask = (~@as(MaskInt, 0)) >> @as(ShiftInt, @intCast(padding_bits));
self.masks[new_masks - 1] &= last_item_mask;
}
@@ -842,10 +842,10 @@ pub const DynamicBitSetUnmanaged = struct {
if (range.start == range.end) return;
const start_mask_index = maskIndex(range.start);
- const start_bit = @truncate(ShiftInt, range.start);
+ const start_bit = @as(ShiftInt, @truncate(range.start));
const end_mask_index = maskIndex(range.end);
- const end_bit = @truncate(ShiftInt, range.end);
+ const end_bit = @as(ShiftInt, @truncate(range.end));
if (start_mask_index == end_mask_index) {
var mask1 = std.math.boolMask(MaskInt, true) << start_bit;
@@ -903,7 +903,7 @@ pub const DynamicBitSetUnmanaged = struct {
}
const padding_bits = num_masks * @bitSizeOf(MaskInt) - bit_length;
- const last_item_mask = (~@as(MaskInt, 0)) >> @intCast(ShiftInt, padding_bits);
+ const last_item_mask = (~@as(MaskInt, 0)) >> @as(ShiftInt, @intCast(padding_bits));
self.masks[num_masks - 1] &= last_item_mask;
}
@@ -916,7 +916,7 @@ pub const DynamicBitSetUnmanaged = struct {
}
const padding_bits = num_masks * @bitSizeOf(MaskInt) - bit_length;
- const last_item_mask = (~@as(MaskInt, 0)) >> @intCast(ShiftInt, padding_bits);
+ const last_item_mask = (~@as(MaskInt, 0)) >> @as(ShiftInt, @intCast(padding_bits));
self.masks[num_masks - 1] &= last_item_mask;
}
@@ -932,7 +932,7 @@ pub const DynamicBitSetUnmanaged = struct {
}
const padding_bits = num_masks * @bitSizeOf(MaskInt) - bit_length;
- const last_item_mask = (~@as(MaskInt, 0)) >> @intCast(ShiftInt, padding_bits);
+ const last_item_mask = (~@as(MaskInt, 0)) >> @as(ShiftInt, @intCast(padding_bits));
self.masks[num_masks - 1] &= last_item_mask;
}
@@ -947,7 +947,7 @@ pub const DynamicBitSetUnmanaged = struct {
}
const padding_bits = num_masks * @bitSizeOf(MaskInt) - bit_length;
- const last_item_mask = (~@as(MaskInt, 0)) >> @intCast(ShiftInt, padding_bits);
+ const last_item_mask = (~@as(MaskInt, 0)) >> @as(ShiftInt, @intCast(padding_bits));
self.masks[num_masks - 1] &= last_item_mask;
}
@@ -1073,7 +1073,7 @@ pub const DynamicBitSetUnmanaged = struct {
pub fn iterator(self: *const Self, comptime options: IteratorOptions) Iterator(options) {
const num_masks = numMasks(self.bit_length);
const padding_bits = num_masks * @bitSizeOf(MaskInt) - self.bit_length;
- const last_item_mask = (~@as(MaskInt, 0)) >> @intCast(ShiftInt, padding_bits);
+ const last_item_mask = (~@as(MaskInt, 0)) >> @as(ShiftInt, @intCast(padding_bits));
return Iterator(options).init(self.masks[0..num_masks], last_item_mask);
}
@@ -1082,13 +1082,13 @@ pub const DynamicBitSetUnmanaged = struct {
}
fn maskBit(index: usize) MaskInt {
- return @as(MaskInt, 1) << @truncate(ShiftInt, index);
+ return @as(MaskInt, 1) << @as(ShiftInt, @truncate(index));
}
fn maskIndex(index: usize) usize {
return index >> @bitSizeOf(ShiftInt);
}
fn boolMaskBit(index: usize, value: bool) MaskInt {
- return @as(MaskInt, @intFromBool(value)) << @intCast(ShiftInt, index);
+ return @as(MaskInt, @intFromBool(value)) << @as(ShiftInt, @intCast(index));
}
fn numMasks(bit_length: usize) usize {
return (bit_length + (@bitSizeOf(MaskInt) - 1)) / @bitSizeOf(MaskInt);
@@ -1436,7 +1436,7 @@ pub fn BitSetIterator(comptime MaskInt: type, comptime options: IteratorOptions)
.reverse => {
const leading_zeroes = @clz(self.bits_remain);
const top_bit = (@bitSizeOf(MaskInt) - 1) - leading_zeroes;
- const no_top_bit_mask = (@as(MaskInt, 1) << @intCast(ShiftInt, top_bit)) - 1;
+ const no_top_bit_mask = (@as(MaskInt, 1) << @as(ShiftInt, @intCast(top_bit))) - 1;
self.bits_remain &= no_top_bit_mask;
return top_bit + self.bit_offset;
},