From ebedc99ac1148c8d3465ad2338d3db142e57579f Mon Sep 17 00:00:00 2001 From: daurnimator Date: Mon, 20 May 2019 23:22:58 +1000 Subject: std: add math.isPowerOfTwo --- std/math.zig | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'std/math.zig') diff --git a/std/math.zig b/std/math.zig index 765df6280c..7464a9fc97 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; -- cgit v1.2.3