commit ebedc99ac1148c8d3465ad2338d3db142e57579f (tree) parent 5017a1d895847df6cc02dc4bedd02aa341177171 Author: daurnimator <quae@daurnimator.com> Date: Mon, 20 May 2019 23:22:58 +1000 std: add math.isPowerOfTwo Diffstat:
| M | std/math.zig | | | 5 | +++++ |
1 file changed, 5 insertions(+), 0 deletions(-)
diff --git 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;