diff options
Diffstat (limited to 'bits.zig')
| -rw-r--r-- | bits.zig | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/bits.zig b/bits.zig new file mode 100644 index 0000000..64f7d8b --- /dev/null +++ b/bits.zig | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | const math = @import("std").math; | ||
| 2 | |||
| 3 | pub fn set(comptime Int: type, num: Int, bit: math.Log2Int(Int), value: bool) Int { | ||
| 4 | return (num & ~(Int(1) << bit)) | (Int(value) << bit); | ||
| 5 | } | ||
| 6 | |||
| 7 | pub fn get(comptime Int: type, num: Int, bit: math.Log2Int(Int)) bool { | ||
| 8 | return ((num >> bit) & 1) != 0; | ||
| 9 | } | ||