Commit ebedc99ac1

daurnimator <quae@daurnimator.com>
2019-05-20 15:22:58
std: add math.isPowerOfTwo
1 parent 5017a1d
Changed files (1)
std/math.zig
@@ -680,6 +680,11 @@ pub fn alignCast(comptime alignment: u29, ptr: var) AlignCastError!@typeOf(@alig
     return @alignCast(alignment, ptr);
 }
 
+pub fn isPowerOfTwo(v: var) bool {
+    assert(v != 0);
+    return (v & (v - 1)) == 0;
+}
+
 pub fn floorPowerOfTwo(comptime T: type, value: T) T {
     var x = value;