diff --git a/std/math.zig b/std/math.zig index 765df6280cd59f7d5c15381b9e0e9bde1f04c470..7464a9fc974826a765b053ae1b241ba4d455fc9b 100644 --- a/std/math.zig +++ b/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;