summaryrefslogtreecommitdiff
path: root/bits.zig
diff options
context:
space:
mode:
Diffstat (limited to 'bits.zig')
-rw-r--r--bits.zig9
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 @@
1const math = @import("std").math;
2
3pub 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
7pub fn get(comptime Int: type, num: Int, bit: math.Log2Int(Int)) bool {
8 return ((num >> bit) & 1) != 0;
9}